rodzaj_oferta
Kod
id_rodzaj id_wartosc id_oferta
1 1 2
2 6 3
4 7 3
2 6 4
4 7 4
2 6 5
1 1 2
2 6 3
4 7 3
2 6 4
4 7 4
2 6 5
Potrzebuję pobrać ID_OFERTA gdy id_wartosc == 6 i id_wartosc == 7(powinno zwrócić -> id_oferta 3 i 4)
Nie mogę zrobić tego : where id_wartosc = 6 and id_wartosc = 7 ponieważ są to osobne rekordy(zwróci NULL)
LUB where id_wartosc = 6 or id_wartosc = 7 bo zwróci mi id_oferta = 3.4.5
Zrobiłem to na LEFT JOIN lecz jesli wyszukiwarka ma np 9 opcji i na każdym dodaje LEFT JOIN serwer pada:
Za pomocą skryptu PHP wygladało to tak:
select r1.id_oferta from rodzaj_oferta r1
left join rodzaj_oferta r2 on(r2.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r3 on(r3.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r4 on(r4.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r5 on(r5.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r6 on(r6.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r7 on(r7.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r8 on(r8.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r9 on(r9.id_oferta!=r1.id_oferta)
left join rodzaj_oferta r10 on(r10.id_oferta!=r1.id_oferta)
where r2.id_wartosc=6 and r3.id_wartosc=7 group by id_oferta
Spełnia to swoje założenie ale przy np. jednej opcji wyszukiwarki czy 2 potem już są problemy z działaniem sql
Pozdrawiam i z góry dziękuje za pomoc