Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie filtrowane
Forum PHP.pl > Forum > Bazy danych > MySQL
Qss
Witam,
mam 3 tabele

Kod
produkt            atrybut2produkt          atrybut
------------        -------------------          ------------
idprodukt          idproduktu                  idatrybut
                        idatrybut

Czyli mam relacje wiele do wielu

Czy da się wykonać zapytanie w którym wybiorę tylko produkty, które posiadają w tabeli 'atrybut2produkt' idatrybut np. 2 i 3
Chodzi mi o to jak jest to w sklepach internetowych że jeśli sobie ustawie jakieś filtry to pobierze tylko te produkty które posiadają dokładnie te parametry podane w filtrach.
Bo nie wiem jak się do tego zabrać czy trzeba pobrać wszystkie produkty które maja jeden z tych atrybutów bo to można zrobić IN i później w php szukać tych co maja wszystkie atrybuty
nospor
  1. SELECT FROM produkt p
  2. LEFT JOIN atrybut2produkt ap1 ON (ap1.idprodukt=p.idprodukt AND ap1.idatrybut=2)
  3. LEFT JOIN atrybut2produkt ap2 ON (ap2.idprodukt=p.idprodukt AND ap2.idatrybut=3)
  4. WHERE ap1.idprodukt IS NOT NULL AND ap2.idprodukt IS NOT NULL
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.