Zapytanie MSSQL - wykluczenie pewnych wyników, Wydawało mi się banalne, a jakoś nie moge dać rady |
Zapytanie MSSQL - wykluczenie pewnych wyników, Wydawało mi się banalne, a jakoś nie moge dać rady |
6.11.2015, 14:45:08
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) |
Mam 3 tabele:
KLIENT, CECHA, CECHA_KLIENT w KLIENT mam: id_klienta, imie, nazwisko, adres w Cecha mam: id_cechy, nazwa_cechy w CECHA_KLIENT mam: id_ck, ck_id_klienta, ck_id_cechy Jeden klient możne mieć wiele cech. Chce zobaczyć klientów z cechą 1 daje zapytanie:
jest ok, ale chce wykluczyć klientów z cechą 2. próbowałem przez:
ale nie działa. Ten post edytował mysz0n 6.11.2015, 14:51:26 |
|
|
6.11.2015, 23:03:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
1. Operator <> a nie !=
2. Nie tak... Najprościej będzie jak zrobisz NOT IN (SELECT id_klienta FROM pierwsze_zapytanie) |
|
|
12.11.2015, 21:52:57
Post
#3
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) |
Coś się tu kupy nie trzyma:
Chce zobaczyć klientów z cechą 1 daje zapytanie:
gdybyś chciał oglądać z cechą 1 to: - joinujesz zdaje się cecha_klient a nie cecha - bez sensu jest left join, ze względu na warunki wynik taki sam jak inner joina, tylko wydajność niższa - warunek Ci się nie zgadza
jest ok, ale chce wykluczyć klientów z cechą 2. Więc z joinami wyglądać by to mogło tak:
Ale możesz się też zainteresować co to jest PIVOT i wymyślić jak może Ci pomóc w czytelnym i uniwersalnym ograniu tematu dla niezbyt dużej liczby zdefiniowanych cech. |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 12:19 |