Generalnie problem ciekawy i zainteresowal mnie. Co do mojego poprzedniego postu istotnie byl bez sensu bo krotka nie moze przyjmowac 3 wartosci na raz.
Jednak doczytalem i znalazlem informacje, ze istnieje coś takiego jak samozlaczenie (SELF JOINs), ktore dziala w sposob taki, jakbysmy mieli 2 kopie tej samej tabeli, ktora pozniej laczymy warunkiem za pomoca JOIN.
Przyklad : znalezc pracownika z tabeli "obecnosci", ktory byl 3 i 5 maja.
SELECT nazwisko FROM obecnosci AS tab1
JOIN obecnosci AS tab2
WHERE tab1.pracownik_id = tab2.pracownik_id AND tab1.DATA='2007-05-01' AND tab2.DATA='2007-05-03'
W twoim przypadku bedzie to:
SELECT t1.user_id FROM user_cechy AS t1
JOIN user_cechy AS t2 ON t1.user_id = t2.user_id
JOIN user_cechy AS t3 ON t2.user_id = t3.user_id AND t1.cecha_id = 1 AND t2.cecha_id = 2 AND t3.cecha_id = 4
@osiris - twoj sposob nie dziala na MS SQL SERVER 2005 - baza nie rozpoznaje aliasa 'ile' przy HAVING