TableAとTableBの2つのテーブルがあります
TableA:columnBLA、objName、objID
TableB:objID、ColumnIndex、StringValue、NumberValue、DateValue
TableA has a row: bla, Object Name, 21
TableB also has data for objID=21:
21, 1, a, NULL, NULL
21, 1, b, NULL, NULL
21, 1, c, NULL, NULL
21, 2, NULL, 11, NULL
21, 2, NULL, 22, NULL
21, 2, NULL, 33, NULL
21, 3, NULL, NULL, 1/1/2012
21, 3, NULL, NULL, 1/1/2013
21, 3, NULL, NULL, 1/1/2014
次に、このデータを次の形式に再形成します。
a, 11, 1/1/2012
b, 22, 1/1/2013
c, 33, 1/1/2014
私はこれまでに持っています:
Select StringValue, NumberValue, DateValue
From
(Select StringValue
From TableA ta WITH (NOLOCK), TableB tb WITH (NOLOCK)
WHERE ta.objID = tb.objID
AND t.objName = N'Object Name'
AND d.ColumnIndex = 1) As StringValues
,
(Select NumberValue
From TableA ta WITH (NOLOCK), TableB tb WITH (NOLOCK)
WHERE ta.objID = tb.objID
AND t.objName = N'Object Name'
AND d.ColumnIndex = 2) As NumberValues
,
(Select DateValue
From TableA ta WITH (NOLOCK), TableB tb WITH (NOLOCK)
WHERE ta.objID = tb.objID
AND t.objName = N'Object Name'
AND d.ColumnIndex = 1) As DateValues
しかし、私は望ましくない結果を得ました。そのためにPIVOTを使用する必要があると誰かに言われましたが、私のSQLの知識はそれほど広がりません。