![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 3 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hej!
Mam pytanie, głowię się już nad tym od dłuższego czasu ale nic sensownego nie mogę wymyśleć. Odnośnie pytania to zacznę może od przedstawienia tabelek. A więc mam 2 tabele tabela A - rekordy: id email 1 cos@wp.pl 2 cos3@wp.pl 3 cos4@wp.pl 4 cos5@wp.pl tabela B - rekordy: id a_id amount 1 1 100 2 3 300 I teraz pytanie brzmi. Jak za pomocą jednego zapytania pobrać rekordy z Tabeli A, dopasować do nich rekordy z Tabeli B (id = a_id), posorotwać po kolumnie B.amount ale gdy nie ma połączeń to wyświetlić i tak rekordy z A. Czyli powinienem otrzymać takie coś: id email amount 1 cos@wp.pl 100 2 cos3@wp.pl 0 3 cos4@wp.pl 300 4 cos5@pw.pl 0 Z góry dzięki za pomoc! ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zgadza sie, masz uzyc LEFT JOIN. Z czym konkretnie masz problem?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 22 Dołączył: 17.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Left JOIN tabeli a do tabeli B i tam gdzie nie masz połączenia A -> B będziesz miał w B.amount NULL
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 3 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że tutaj potrzebny jest LEFT JOIN. Próbowałem już to zrobić sam tylko porblemem u mnie jest to, że gdy w tabeli B nie ma pasującego rekordu to nie wyświetla rekordu tabeli A. I nie mam aktualnie pojęcia jak sobie z tym poradzić. Poniżej wrzucam kod, który próbowałem zrobić:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 178 Pomógł: 49 Dołączył: 16.04.2012 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Do sprawdzania czy wartość jest nullem użyj "IS NULL" zamiast "= NULL".
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 3 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
@Tuminure: Nie wiem jakim cudem zapomniałem o tym IS.
![]() ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 22 Dołączył: 17.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
A czemu sprawdzasz warunek po stronie tabeli przyłączonej:
Musisz sprawdzić po lewej stronie czyli w tabeli
Ponieważ w pierwszym wypadku jak nie ma połączenia to wa wartość IS NULL a nie ID usera. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:24 |