没有聚合函数的TSQL数据轴

没有聚合函数的TSQL数据轴

我有张这样的桌子.。


CustomerID   DBColumnName   Data

--------------------------------------

1            FirstName      Joe

1            MiddleName     S

1            LastName       Smith

1            Date           12/12/2009

2            FirstName      Sam

2            MiddleName     S

2            LastName       Freddrick

2            Date           1/12/2009

3            FirstName      Jaime

3            MiddleName     S

3            LastName       Carol

3            Date           12/1/2009

我想要这个.。


这能用枢轴吗?


CustomerID  FirstName   MiddleName          LastName        Date

----------------------------------------------------------------------

1           Joe             S               Smith           12/12/2009

2           Sam             S               Freddrick       1/12/2009

3           Jaime           S               Carol           12/1/2009


缥缈止盈
浏览 517回答 3
3回答

jeck猫

您可以使用MAX聚合,它仍然可以工作。一个值的最大值=那个值。在本例中,您还可以在customerid上自联接5次,通过dbColumnName对每个表引用进行筛选。结果可能会更好。

慕姐8265434

是的,但为什么!?   Select CustomerID,      Min(Case DBColumnName When 'FirstName' Then Data End) FirstName,      Min(Case DBColumnName When 'MiddleName' Then Data End) MiddleName,      Min(Case DBColumnName When 'LastName' Then Data End) LastName,      Min(Case DBColumnName When 'Date' Then Data End) Date   From table    Group By CustomerId

慕妹3242003

WITH pivot_data AS(SELECT customerid, -- Grouping Columndbcolumnname, -- Spreading Columndata -- Aggregate ColumnFROM pivot2 )SELECT customerid, [firstname], [middlename], [lastname]FROM pivot_dataPIVOT (max(data) FOR dbcolumnname IN ([firstname],[middlename],[lastname])) AS p;
打开App,查看更多内容
随时随地看视频慕课网APP