我有一张桌子...
SELECT * FROM ALLERGIES;
结果:
Name | Alergy | Alergy Desc | Value
John | Gluten | Gluten Products | Yes
John | Dairy | Milk, Cheese etc | No
Mary | Peanuts | Any kind peanuts | Yes
Dave | Gluten | Gluten Products | No
Dave | Peanuts | Any kind peanuts | Yes
我希望它看起来像这样...
Name | Dairy | Gluten | Peanuts | ...
Dave | NULL | No | Yes |
John | No | Yes | NULL |
Mary | NULL | NULL | Yes |
.
.
.
换句话说,在最左边的列(A-Z)上保留唯一的名称列表,并为列标题L-R,A-Z加上警报名称。
我没有使用任何聚合函数,因此很遗憾,我无法使其与PIVOT一起使用。有多个名称和多个容忍度,因此即使我可以制造某种形式的聚集体,所有满足PIVOT方法IN (x,y,z)
的值的手工合成也不适合此处。
有什么想法吗?
旁注: 我已在请求中删除了过敏描述,以消除一定程度的难度,但理想情况下,每个列标题实例应为“ Alergy-Alergy Desc”。
编辑: 更新了标题,以明确声明非聚合值,而不是未聚合的解决方案。