我有两张这样的表
id Value color
-------------------
1 Shirt red
1 Bag blue
1 Shoes blue
1 ....
请注意,此表中我们可以包含任意数量的项目。
id Name Gender
-------------------
1 Mary F
是否有任何SQL查询可以提供下表?
id Name Gender Shirt Bag ...
-------------------------------------
1 Mary F red blue ...
由于
答案 0 :(得分:2)
您可以像这样加入他们:
SELECT t2.id,
t2.Name,
t2.Gender,
MIN(CASE WHEN t1.Value = 'Shirt' THEN color END) Shirt,
MIN(CASE WHEN t1.Value = 'Bag' THEN color END) Bag
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.id = t2.id
GROUP BY t2.id,
t2.Name,
t2.Gender;