我有两张桌子, table1(Id,date,info1) table2(Id,date,nvarchar(50)Key,nvarchar(50)Value)
我想连接这些表并获取行,其中Key列中的每个值都是一个新列,值表中的值是行中的数据。
示例:
table1行:
1, 2010-01-01, 234
table2行:
1, 2010-01-01, 'TimeToProcess', '15'
1, 2010-01-01, 'ProcessingStatus', 'Complete'
所需的结果如下:
1, 2010-01-01, 234, '15', 'Complete'
列标题是(Id,date,info1,TimeToProcess,ProcessingStatus)
这个转置看起来像它与PIVOT类似,但我无法让它工作 - 我怀疑 - 由于nvarchar(50)类型的Key,Value列以及我被迫使用的事实聚合函数,实际上我不需要它。
我可以使用内部联接来实现这一点,但我知道如何做到这一点的唯一方法是每个Key需要1个内部联接,在我的情况下,这个数量相当于6个内部联接,因为这是我有多少指标。
我该怎么做?
答案 0 :(得分:0)
您与PIVOT
走在正确的轨道上。您可以 PIVOT
字符串值。使用MIN
或MAX
汇总功能。