• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobranie danych z dwóch tabeli w jednym zapytaniu SQL

VPS Starter Arubacloud
0 głosów
399 wizyt
pytanie zadane 20 października 2021 w SQL, bazy danych przez Jacek Śmiel Użytkownik (510 p.)

Witajcie, mam problem podczas pobierania danych za pomocą SELECT z dwóch tabeli na raz, w jednym zapytaniu SQL. Potrzebuje pobrać wszystko z trzech tabeli emaile_odrzucone, emaile_weryfikacja i emaile_zaakceptowane. 

Moje zapytanie aktualnie wygląda tak: 

SELECT * FROM emaile_zaakceptowane, emaile_weryfikacja, emaile_odrzucone

Niestety dane są pobierane, ale się powtarzają. Rekordów w tych trzech bazach jest ok.50. Skrypt pokazuje je na stronie w ilości 3.800 szt. W momencie gdy pobieram dane tylko z jednej tabeli problem nie występuje. Proszę o nakierowanie lub wskazanie problemu ;) Dane po pobraniu wyglądają tak:

Drugą kwestią, która jest dla mnie niezrozumiała, jest to, że do zapytani SQL nie mogę dodać WHERE dodal='nick_usera'. W momencie gdy pobieram dane z jednej tabeli wszystko działa. Dane z jednej tabeli pobieram w taki sposób:

SELECT * FROM emaile_zaakceptowane WHERE dodal='nick_usera'

Kod php opdowiadajacy za pobranie danych i ich wyświetlenie: https://pastebin.com/0GgbmGVY

 

1 odpowiedź

0 głosów
odpowiedź 20 października 2021 przez SzkolnyAdmin Szeryf (88,560 p.)
edycja 20 października 2021 przez SzkolnyAdmin
Kwestia druga: "dodal" pewnie występuje we wszystkich tabelach i system nie wie, o który chodzi. Poprzedź go nazwą tabeli.

Kwestia pierwsza: pobierasz wszystkie kombinacje danych danych, stąd ta liczba. Czy tabele są w jakiś sposób ze sobą powiązane? Najlepiej pokaż strukturę bazy danych.
komentarz 20 października 2021 przez Jacek Śmiel Użytkownik (510 p.)

Nawiązując do twojej odpowiedzi, kwestia druga: Poprawiłem zapytanie SQL tak jak napisałeś, wygląda następująco, ale dalej zapytanie się nie realizuje:

SELECT * FROM emaile_zaakceptowane.dodal, emaile_weryfikacja.dodal, emaile_odrzucone.dodal

Struktura tabel wygląda następująco:

 

Struktury tabeli wyglądają tak:

emaile_odrzucone https://pastebin.com/1XiZKQDj
emaile_weryfikacja https://pastebin.com/KFRvPCGh
emaile_zaakcepowane https://pastebin.com/QsTQNwUB

 

komentarz 21 października 2021 przez SzkolnyAdmin Szeryf (88,560 p.)

Nie obraź się, ale na razie masz bardzo mgliste pojęcie o konstrukcja zapytania SQL. Zapis emaile_zaakceptowane.dodal  oznacza POLE TABELI, a nie TABELĘ. Poczytaj o warunku WHERE i spróbuj tak:

SELECT * FROM emaile_zaakceptowane, emaile_weryfikacja, emaile_odrzucone
WHERE emaile_zaakceptowane.dodal="nick_usera"
OR emaile_weryfikacja.dodal = "nick_usera"
OR emaile_odrzucone.dodal = "nick_usera"

 

komentarz 22 października 2021 przez Jacek Śmiel Użytkownik (510 p.)

Tak, wiem, moja aktualna wiedza dot. całego sql jest dość bardzo podstawowa.

Wykonałem zapytanie, które wkleiłeś wyżej, ale one dalej w wyniku wyświetla kilkakrotnie to samo ;(

komentarz 24 października 2021 przez Jacek Śmiel Użytkownik (510 p.)
bump

Podobne pytania

0 głosów
1 odpowiedź 708 wizyt
0 głosów
1 odpowiedź 536 wizyt
+1 głos
2 odpowiedzi 725 wizyt
pytanie zadane 1 sierpnia 2021 w SQL, bazy danych przez mgab Nowicjusz (160 p.)

92,960 zapytań

141,922 odpowiedzi

321,158 komentarzy

62,295 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...