name | value | product_id
-------+--------+------------
color | red | 9
style | modern | 9
brand | xxx | 1
color | blue | 4
color | red | 1
如何选择产品ID,其中brand = xxx和color = red?这是id = 1的产品。
答案 0 :(得分:0)
SELECT *
FROM YourTable T
WHERE name = 'color'
AND value = 'red'
AND EXISTS( SELECT 1 FROM YourTable
WHERE name = 'brand'
AND value = 'xxx'
AND product_id = T.product_id)
答案 1 :(得分:0)
SELECT product_id FROM tbl WHERE "name"='color' AND "value"='red'
INTERSECT
SELECT product_id FROM tbl WHERE "name"='brand' AND "value"='xxx';