我有两个表,table1(Id,date,info1)table2(Id,date,nvarchar(50)Key,nvarchar(50)Value)
我想连接这些表并获取行,其中Key列中的每个值都是一个新列,value表中的值是行中的数据 .
例:
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'
列 Headers 是(Id,date,info1,TimeToProcess,ProcessingStatus)
这个转置看起来像它与PIVOT类似,但我无法让它工作 - 我怀疑 - 由于Nvarchar(50)类型的Key,Value列以及我被迫使用聚合函数的事实事实上我不需要它 .
我可以使用内连接来实现这一点,但我知道如何做到这一点的唯一方法是每个Key需要1个内部连接,在我的情况下,这相当于6个内部连接,因为这是我有多少指标 .
我怎样才能做到这一点?
1 回答
你在
PIVOT
的正确轨道上 . 你 canPIVOT
对一个字符串值 . 使用MIN
或MAX
聚合函数 .