hej, mam pewien mały problem, otóż mam stworzoną tabelę atrybutów, która wygląda tak
ID | OFFER | ATTRIBUTE | VALUE
Teraz chciałbym znaleźć wiersze spełniające kilka warunków związanych z polami attribute oraz value.
Nie wiem jak się za to zabrać, ponieważ musiałbym to sobie jakoś pogrupować w pary z uwagi na fakt, że atrybut nr 1 może mieć wartości 1 i 2 z kolei atrybut nr 2 może mieć już wartości 1, 2, 3 i 4.
Stworzyłem takie proste zapytanie:
select o.id
from offers o,
attributes oa
where o.type = 1
and o.id = oa.offer
and o.location = 1
and oa.property = 1
and oa.value = 1
and oa.property = 3
and oa.value = 3
and oa.property = 4
and oa.value = 5
and oa.property = 6
and oa.value = 1
order by added desc;
Jednakże no jak można się domyślić, nie działa.
Działa jedynie dla jednego zestawu atrybut > wartość, czyli:
select o.id
from offers o,
attributes oa
where o.type = 1
and o.id = oa.offer
and o.location = 1
and oa.property = 1
and oa.value = 1
order by added desc;
Jakieś porady?