mam tabelę o takiej strukturze:
id | element_id | type_id | value
Chciałbym w 1 zapytaniu pobrać określone id i element_id pogrupowane poprzez type_id. Do jednego type_id może być wiele element_id
Jak więc powinno to wyglądać, aby w PHP można było to potem sensownie podzielić (musi być 1 zapytanie)?
Nie wiem czy zapytanie jest dobre, ale powinno zobrazować o co mi chodzi:
SELECT * FROM tabela WHERE element_id IN (1,5,8,9,10) AND type_id = '1' OR element_id IN (2,7,15) AND type_id = '2' OR element_id IN (3,6,12,13,14) AND type_id = '3' ORDER BY type_id
Obawiam się jednak, że OR zostanie źle potraktowane, tzn. równolegle do AND, a powinno być tak jak w zapisie logicznym (nawiasy):
((element_id IN (1,5,8,9,10)) && (type_id = 1)) || ((element_id IN (2,7,15)) && (type_id = 2)) || ((element_id IN (3,6,12,13,14)) && (type_id = 3))
Aha, dla różnych type_id mogą występować TAKIE SAME element_id (nie uwzględniłem tego w przykładzie).