...
IF OBJECT_ID('tempdb..#TestData', 'U') IS NOT NULL
DROP TABLE #TestData;
CREATE TABLE #TestData (
[Time] DATETIME NOT NULL,
Pass INT NOT NULL,
Fail INT NOT null
);
INSERT #TestData (Time, Pass, Fail) VALUES
('08:30',10, 2),
('09:30',12, 1),
('10:30',20, 0),
('11:30',30, 40);
SELECT
[P/F] = CASE WHEN pf.id = 1 THEN 'Pass' ELSE 'Fail' END,
[08:30] = MAX(CASE WHEN td.[Time] = '08:30' THEN pf.Value END),
[09:30] = MAX(CASE WHEN td.[Time] = '09:30' THEN pf.Value END),
[10:30] = MAX(CASE WHEN td.[Time] = '10:30' THEN pf.Value END),
[11:30] = MAX(CASE WHEN td.[Time] = '11:30' THEN pf.Value END)
FROM
#TestData td
CROSS APPLY (VALUES (1, td.Pass), (2, td.Fail)) pf (id, Value)
GROUP BY
pf.id;
結果...にStackOverflowに
P/F 08:30 09:30 10:30 11:30
---- ----------- ----------- ----------- -----------
Pass 10 12 20 30
Fail 2 1 0 40
ようこそ。時間をかけて[良い質問をする方法](https://stackoverflow.com/help/how-to-ask)セクションをご覧ください。さらに、[最小、完全、および検証可能なサンプルの作成方法](https://stackoverflow.com/help/mcve)をお読みください。スタックオーバーフローは、武道のサイトでもあなたのために仕事をしているサイトでもないので、あなた自身で何かを試してみてください。 –