このテーブルがあります (わかりやすくするために列とレコードが切り捨てられています)。
StartHour WorkstationName
--------- ---------------
4 Wigets1
19 Wigets2
StartHour
これらの 2 行の値だけを含む 1 レコードの結果を取得したいので、結果は次のようになります。
Wigets1 Wigets2
--------- ---------
4 19
そして、私は今このクエリを持っています:
SELECT Wigets1, Wigets2
FROM (SELECT * FROM InspectorApp
WHERE WorkstationName IN ('Wigets1', 'Wigets2')) innerselect
PIVOT(MAX(StartHour) FOR WorkstationName IN ([Wigets1], [Wigets2])) pvt
しかし、私は結果を得る
EarlyPipe LgLnStart
--------- ---------
NULL 19
4 NULL
NULL
ここで sを取り除くにはどうすればよいですか?
pivot
微妙です。サブクエリで必要な列を選択するだけです。
SELECT Wigets1, Wigets2
FROM (SELECT WorkstationName, StartHour
FROM InspectorApp
WHERE WorkstationName IN ('Wigets1', 'Wigets2')
) innerselect
PIVOT(MAX(StartHour) FOR WorkstationName IN ([Wigets1], [Wigets2])) pvt;
追伸 ピボットに条件付き集計を使用することを好むもう 1 つの理由。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加