Aktywne Wpisy
Kopyto96 +400
Nie ma gorszego trendu w XXI wieku, niż traktowanie psów jak dzieci. Kiedyś pies też był uważany za członka rodziny, ale jednak ludzie mieli świadomość, że to jest pies. Dzisiaj uczłowieczanie psów to najgorszy rak, jaki można zaobserwować.
Ludzie spędzali szczęśliwe chwile ze swoimi pociechami na spacerach i wypadach za miasto, kiedy te uwaliły się całe w błocie i pokaleczyły od krzaków, a dzisiaj psórka musi buciki mieć, żeby jej się łapki
Ludzie spędzali szczęśliwe chwile ze swoimi pociechami na spacerach i wypadach za miasto, kiedy te uwaliły się całe w błocie i pokaleczyły od krzaków, a dzisiaj psórka musi buciki mieć, żeby jej się łapki

KjatanSveisson +79





Mam pytanie dotyczące podstaw SQL, ale nigdzie nie znalazłem rozwiązania tego problemu. Weźmy dla przykłady taką tabelę:
Tabela Klienci
KlientID, KlientImie, KlientNazwisko, KlientUlica, KlientMiasto
oraz druga tabela:
Zamówienia
ZamowienieID, ZamowienieKlientID, ZamowienieNazwa
Chciałbym wyjąć z bazy tylko zamówienia klientów, którzy ulica to "Marszałkowska". Ale Ci klienci zamówiali wiele razy, więc w tabeli zamówienia powtarza się ZamowienieKlientID wielokrotnie. Jak wyciągnąć z bazy tylko pojedyncze wiersze z KlientID i np. KlientMiasto ?
Wiem, że jest SELECT DISTINCT ale czy jest jakaś inna metoda? Bo mam wrażenie, że DISTINCT jest dość zasobożerny.
https://www.w3schools.com/sql/sql_having.asp
Przykładowe wyniki byłby takie (nie sprecyzowałem, że chodzi mi o konkretny produkt z zamówienia np. "Odtwarzacz MP3"
SELECT K.KlientID, K.KlientUlica, K.KlientImie, K.KlientNazwisko
FROM Klienci, Zamowienia
WHERE Z.ZamowienieNazwa = "Odtwarzacz MP3" and K.KlientID = Z.ZamowienieKlientID
Wyniki:
444555,Marszałkowska,Jan,Nowak
444555,Marszałkowska,Jan,Nowak
444555,Marszałkowska,Jan,Nowak
239777,Marszałkowska,Jerzy,Węgiel
98765,Marszałkowska,Alicja Malinowska
98765,Marszałkowska,AlicjaMalinowska
Wiem, że można użyć SELECT DISTINCT ale przy większym zapytaniu czy byłoby to optymalne? Having tutaj jest ok?