Autor Zpráva
somebody
Profil
Dobrý den,

mám dotaz na parametry u produktu. Ty jsou uloženy v tabulce - např. connection_parametry

Struktura:
id,id_produktu,id_parametru,id_hodnoty

Při hledání chci všechny produkty které mají - parametr A s hodnotami (1,2) a parametr B s hodnotami (33)
Výsledek dotazu by měl výpis všech id_produktu které splňuji nastavení pro parametr A i B.

SELECT * FROM connection_parametry

Where 

(connection_parametry.id_parametru  ="A" AND connection.kod_hodnoty IN(1,2))
OR
(connection_parametry.id_parametru  ="B" AND connection.kod_hodnoty IN(33))
 

Výsledek je např pak:

1 1 A 1
2 2 A 2
3 9 A 2

4 1 B 33
5 2 B 33
6 7 B 33

Výsledek by měl být pouze id_produktu = 1,2

Toto je polovičaté řešení protože ten samotný výběr těch id_produktu které splňují obě podmínky pak dělám v aplikační vrstvě ne v DB.
Dneska mi to už nemyslí tak jestli mě muže někdo nakopnout, jak to vyřešti dotazem.
Díky :-)
Keeehi
Profil
Smazáno.
Kajman_
Profil *
SELECT connection_parametry.id_produktu FROM connection_parametry
Where 
(connection_parametry.id_parametru  ="A" AND connection.kod_hodnoty IN(1,2))
OR
(connection_parametry.id_parametru  ="B" AND connection.kod_hodnoty IN(33))
group by connection_parametry.id_produktu
having count(distinct connection_parametry.id_parametru)=2 -- nutno menit s poctem podminek
somebody
Profil
Díky Kajmane, čekal jsem kdy napíšeš. Jak otestuju, dám vědět.
somebody
Profil
Funkční díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0