Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyszukiwanie produktów MySQL wraz z ich atrybutami

Musisz dołączyć za pomocą product_filters osobno dla każdego atrybutu:

SELECT DISTINCT products.*  
FROM products
JOIN product_filters AS f1 ON f1.product_id=products.id
JOIN product_filters AS f2 ON f2.product_id=products.id
WHERE ( f1.attribute_id=1 and f1.filter_id in (1,2) )
AND ( f2.attribute_id=3 and f2.filter_id in (6) )

DEMO

Twoja wersja próbowała znaleźć pojedynczy wiersz w product_filters który ma oba identyfikatory atrybutów, co nie jest możliwe.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz Max Data z podzapytania SQL, ale pokazuje wszystkie wyniki z podzapytania

  2. Wielokrotne przypisywanie tej samej wartości parametru w pdo execute

  3. Naprawianie luk w identyfikatorze wiersza tabeli mysql po usunięciu niektórych z nich

  4. Przekaż tablicę w zapytaniu Mysql za pomocą nodejs

  5. Wstaw zawartość tablicy do bazy danych - php