![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Problem wydawałby się banalny (i być może jest), ale miałem sporą przerwę w SQL.
Mam tabelę zawierającą przykładowe pola (generalnie jest to zrzut z innej bazy, dlatego proszę nie patrzeć na to, że jest nieoptymalna): Kod sprzedawca | id_klient | sprzedaz i dane w niej wyglądają tak, że klienci mogą być wyłącznościowi (tzn. jeden klient - jeden sprzedawca - jeden rekord w tabeli) lub współdzieleni (wtedy dla jednego klienta jest tyle rekordów ilu sprzedawców go obsługuje). Potrzebuję wyciągnąć 2 rodzaje danych: - klienci wyłącznościowi konkretnego sprzedawcy - klienci pozostali konkretnego sprzedawcy Generalnie poradziłem sobie na około, tzn. dla pierwszego przypadku zrobiłem grupowanie po kliencie, wziąłem tylko wystąpienia, gdzie count(id_klient) = 1 i gdzie sprzedawca jest ten, którego potrzebuję:
dla drugiego problemu zrobiłem złączenie z tym zapytaniem, czyli:
gdzie klienci_wylaczni to wynik pierwszej kwerendy. Jednak zasadniczo nie podoba mi się taka konstrukcja, czy ktoś ma ładniejszy pomysł na takie coś? Najlepiej, żeby nie robić już pośrednich kwerend.. Jeszcze do pierwszego problemu - chciałem dla klientów wyłączonych pokazać od razu przyporządkowanego sprzedawcę, jednak nie mogę zrobić tego bez grupowania po tym polu - czy jedyne wyjście to JOIN? pozdrawiam i liczę na pomoc Adam Ten post edytował torbicki65 10.04.2012, 00:06:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:18 |