Autor | Zpráva | ||
---|---|---|---|
Pietro Profil |
#1 · Zasláno: 6. 9. 2008, 17:06:53
Zdravim.
Mam tabulku soubor, u které nás zajímá jenom její id. Pak mám tabulku ciselniky, která má dva sloupce id_soubor a id_hodnota. Věc se má tak: při přidávání souboru můžu zakliknout v select (multiple) více vlastností jednoho souboru: vlastnost A - hodnoty 1 2 3 a 5 vlastnost B - hodnoty 10 12 13 15 atd. Vse se mi ulozí do ciselniky vzdy jako dvojice id souboru a id hodnoty. (Tzn. ze pro tento pripad by se mi pro soubor s id 1 vlozilo 8 řádek). Teď je však chci vyhledávat. Zakliknu, že chci najít všechny vlastnosti A 1 a 2 a všechny vlastnosti B, které mají vlastnost třeba 11. To znamena: (1 OR 2) AND (11). Mysql by neměl vrátit žádný výsledek. Jenomže nemůžu přijít na ten správný sql dotaz. Máte nápady? Prosím prosím |
||
Kajman_ Profil * |
#2 · Zasláno: 6. 9. 2008, 23:55:20
select * from soubor where id in (select id_soubor from ciselniky where id_hodnota in (1,2) -- tohle jen kdyz chcete, aby to melo hodnotu 1 a zaroven 2 (celkem dva radky) -- group by id_soubor having count(distinct id_hodnota)=2 ) and id in (select id_soubor from ciselniky where id_hodnota in (11)) Ale těžko říct, jak rozlišujete A a B - na to by ve where měla být podmínka též. |
||
Časová prodleva: 16 let
|
0