sql >> Databáze >  >> RDS >> PostgreSQL

Jak najít všechny produkty se specifickými hodnotami více atributů

Klauzule WHERE se může současně dívat pouze na sloupce z jednoho řádku.

Pokud tedy potřebujete podmínku, která platí pro dva různé řádků z tabulky, musíte se k této tabulce připojit dvakrát, abyste získali sloupce z obou řádků.

SELECT p.*
FROM "products" AS p
INNER JOIN "custom_field_answers" AS a1 ON p."id" = a1."product_id"
INNER JOIN "custom_field_answers" AS a2 ON p."id" = a1."product_id" 
WHERE a1."value" = 'bangle' AND a2."number_value" < 50


  1. PostgreSQL - nekonečná rekurze zjištěná v politice pro vztah

  2. Vyberte nejnovější data MySQL, ale jedinečný resort

  3. Dotaz zřetězí vše do jednoho řádku, nikoli do samostatných řádků

  4. ORDER BY Poddotaz pro převod GROUP BY na JOIN