![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mając taką strukturę.
![]() Takim zapytaniem wybiorę wszystkich klientów i zliczę ile zakupili w sumie produktów.
Pytanie jest pewnie banalne, ale czy wykorzystując złączenia mogę wyświetlić klientów oraz liczbę zakupionych produktów, ale danego typu, np chleb czy mąka ![]() coś ala
Takie coś działa tylko wyświetli ilość zakupionych produktów jeśli klient kupił chociaż 1 sztukę. Chciałbym żeby pojawili się wszyscy klienci, a ci co nie kupili to po prostu żeby widniało 0. Samymi złączeniami da się to zrobić? -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
inner join zwraca tylko te rekordy, które istnieją w obu tabelach. Zobacz left/right join.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie próbowałem i left i right ale w każdym przypadku wynik jest identyczny.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ci co nie kupili, raczej nie spełnią warunku z WHERE, ten musisz przenieść do LEFT JOIN.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ale nie rozumiem co ten left join w tym przypadku mi da i do którego złączania go dodać?
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Musisz wyjść od klienta i połączyć LEFT JOINem z shopping. (Tak, wiem, że można RIGHT JOINem, ale po co sobie utrudniać...)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Poddaje się, jeszcze pewnie za wczesny etap nauki na takie skomplikowane (?) złączenia, ale spać mi to nie daje. Jeśli znajdzie się dobra dusza, co napisze takie zapytanie to stawiam 3 piwa w barze
![]() Próbowałem jeszcze tak ale wynik identyczny j/w
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ostatni JOIN również jako LEFT JOIN.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:18 |