Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zawansowana wyszukiwarka
Forum PHP.pl > Forum > Bazy danych > MySQL
metalog
Witam mam tabelę:
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


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
lucassus
Nie lepiej relacje nazwać r1, r2, r3.. winksmiley.jpg
metalog
To poprostu tak przykładowo jest tylko.

Bardzo bym prosił o szybką odpowiedź.
Sedziwoj
Lubicie kombinować
  1. SELECT ro.id_oferta FROM rodzaj_oferta AS ro WHERE ro.id_wartosc IN ( 6, 7 ) GROUP BY ro.id_oferta HAVING count(*) = 2


EDIT: to jest pod PG, ale pod MySQL powinno być tak samo, lub bardzo podobnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.