Sql 选择行作为列
如何选择产品标识,其中品牌=xxx,颜色=红色?这是id为1的产品。Ha!我不明白这个问题。Sql 选择行作为列,sql,postgresql,Sql,Postgresql,如何选择产品标识,其中品牌=xxx,颜色=红色?这是id为1的产品。Ha!我不明白这个问题。 name | value | product_id -------+--------+------------ color | red | 9 style | modern | 9 brand | xxx | 1 color | blue | 4 color | red |
name | value | product_id
-------+--------+------------
color | red | 9
style | modern | 9
brand | xxx | 1
color | blue | 4
color | red | 1
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)
SELECT product_id FROM tbl WHERE "name"='color' AND "value"='red'
INTERSECT
SELECT product_id FROM tbl WHERE "name"='brand' AND "value"='xxx';