【发布时间】:2014-09-26 22:46:59
【问题描述】:
我有一个如下所示的数据集(使用 ROW_NUMNBER OVER PARTITION 创建的第一列):
RNEEAN NEEAN GFCUS SCSAC
NEAN1 9432806 94328 GE
NEAN2 9432807 94328 GE
NEAN3 94328472 94328 ES
NEAN4 9432848 94328 ES
NEAN5 9432875 94328 HK
NEAN6 9432876 94328 HK
NEAN7 9432877 94328 HK
NEAN8 9432878 94328 HK
NEAN9 9432879 94328 HK
我可以通过以下查询获取此数据集:
select RNEEAN, NEEAN, GFCUS, SCSAC from #tmp where GFCUS=094328
现在我想通过 RNEEAN 旋转列 NEEAN,所以我尝试了以下操作:
SELECT MAX([NEEAN1]) [NEEAN1],MAX([NEEAN2]) [NEEAN2],MAX([NEEAN3]) [NEEAN3],
MAX([NEEAN4]) [NEEAN4], MAX([NEEAN5]) [NEEAN5],MAX([NEEAN6]) [NEEAN6],MAX([NEEAN7] [NEEAN7], MAX([NEEAN8]) [NEEAN8], MAX([NEEAN9]) [NEEAN9], GFCUS
from #tmp
PIVOT(
min(NEEAN) for RNEEAN in ([NEEAN1],[NEEAN2],[NEEAN3],[NEEAN4],[NEEAN5],[NEEAN6], [NEEAN7],[NEEAN8],[NEEAN9])
) p1
where GFCUS=094328
GROUP BY GFCUS
但我得到的只是 9 个 NULL 列和 GFCUS 值。
请问我哪里出错或遗漏了什么?
【问题讨论】:
标签: tsql sql-server-2008-r2 pivot