0

私はこのクエリを持っています:

SELECT     
   dbo.[Values].Value, dbo.Definition.FieldName, dbo.Definition.DefinitionID
FROM         
   dbo.Records AS R 
INNER JOIN
   dbo.[Values] ON R.RecordID = dbo.[Values].RecordID 
INNER JOIN
   dbo.Definition ON dbo.[Values].DefinitionID = dbo.Definition.DefinitionID

結果は次のとおりです。

Value   FieldName   DefinitionID
1   test new    6
4   abc 6
0   test new    7
0   abc 7
34  test new    8
910 abc 8

私はこれを取得しようとします:

test new | abc | DefinitionID
1           4     6
0           0     7
34          910   8

私はこれをピボットしようとしますが、成功しません。列dbo.[Values].Valueはタイプですnvarchar(MAX)

4

1 に答える 1

0
select [test new],[abc],DefinitionID
from
(
   -- your query here
SELECT     dbo.[Values].Value, dbo.Definition.FieldName, dbo.Definition.DefinitionID 
FROM         dbo.Records AS R INNER JOIN 
                      dbo.[Values] ON R.RecordID = dbo.[Values].RecordID INNER JOIN 
                      dbo.Definition ON dbo.[Values].DefinitionID = dbo.Definition.DefinitionID 
) src
PIVOT
(MAX(Value) for FieldName in ([test new],[abc])) p
于 2012-10-05T08:57:49.923 に答える