• 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
311 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 (86,280 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 (86,280 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ź 570 wizyt
0 głosów
1 odpowiedź 415 wizyt
+1 głos
2 odpowiedzi 481 wizyt
pytanie zadane 1 sierpnia 2021 w SQL, bazy danych przez mgab Nowicjusz (160 p.)

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...