![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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) |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 15:17 |