我需要动态支点吗?还是有另一种方式?

时间:2014-11-05 21:32:23

标签: tsql dynamic pivot case

所以我有一个看起来像这样的表:

Item_Id       Value      Type
 001           300       B2B
 001           450       (blank)

我正在尝试制作B2B和P2P列,因此我的结果将如下所示:

Item_Id        B2B      (blank) 
 001           300       450

所以现在只占用一行,而不是占用2行。问题是价值不是静态的,我需要考虑到这一点。动态查询+ Pivot略微超出我的联盟但并非不可能。我希望我可以使用案例陈述或其他方式来解决这个问题....非常感谢任何帮助!

我还想重命名空白....由于那个空白的空白,似乎也无法获得枢轴工作类型!

1 个答案:

答案 0 :(得分:1)

试试这个普通的静态数据透镜应该可行。我想你不需要列名,所以插入空字符串。

INSERT INTO #temp
SELECT '001','300','B2B'
UNION
SELECT 001,450,'' 


SELECT *
FROM   (SELECT *
        FROM   #temp) AS p
       PIVOT (Max(value)
             FOR [type] IN([B2B],
                           [ ])) piv