我有一些数据如下所示
ItemCode Attr1 Attr1 InStock
ITEM-000001 43 S 1
ITEM-000001 52 L 2
ITEM-000006 42 R 1
ITEM-000006 44 R 2
ITEM-000009 56 R 1
ITEM-000011 40 R 2
通过使用数据透视表(或任何其他技术),我希望结果如
Output for ITEM-000001
43 52
S 1
L 2
其他人也一样。
答案 0 :(得分:0)
我建议您更好地编写查询以进行以下布局,并使用报告工具完成输出,如图所示。大多数报告工具在将ItemCode列拉入节标题时应该没什么问题。
42 43 44 52 56
ITEM-000001 S 1
ITEM-000001 L 2
ITEM-000006 R 1 2
ITEM-000009 R 1
创建上述布局的查询如下:
SELECT ItemCode, Attr2,
SUM(CASE WHEN Attr1=42 THEN InStock ELSE 0 END) AS S42,
SUM(CASE WHEN Attr1=43 THEN InStock ELSE 0 END) AS S43,
SUM(CASE WHEN Attr1=44 THEN InStock ELSE 0 END) AS S44,
SUM(CASE WHEN Attr1=52 THEN InStock ELSE 0 END) AS S52,
SUM(CASE WHEN Attr1=56 THEN InStock ELSE 0 END) AS S56
FROM StockData
GROUP BY ItemCode, Attr2
如果Attr1和Attr2的值一致性不足以在这些列中的任何一列上执行标准数据透视,那么SQL不是解决问题的最佳工具。
您最好将数据返回到客户端应用程序,并允许它为您处理信息。在进入最终结果之前,您将能够更轻松地将任意列添加到结果中。