适用于非聚合值的Oracle SQL Transpose

时间:2018-08-15 12:49:37

标签: oracle pivot

我有一张桌子...

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”。

编辑: 更新了标题,以明确声明非聚合值,而不是未聚合的解决方案。

0 个答案:

没有答案