2

繰り返し列の値を含む列を MSSQL の行に変換する方法を知りたいです。これが私が取り組んでいるものの例です。

CREATE TABLE Colors
(
    Time_ Time,
    Color varchar(6),
    count int
)

INSERT INTO Colors VALUES ('10:00', 'Red', 2);
INSERT INTO Colors VALUES ('10:00', 'Orange', 3);
INSERT INTO Colors VALUES ('10:00', 'Yellow', 6);
INSERT INTO Colors VALUES ('10:00', 'Green', 9);
INSERT INTO Colors VALUES ('10:00', 'Blue', 2);
INSERT INTO Colors VALUES ('11:00', 'Red', 3);
INSERT INTO Colors VALUES ('11:00', 'Orange', 4);
INSERT INTO Colors VALUES ('11:00', 'Yellow', 6);
INSERT INTO Colors VALUES ('11:00', 'Green', 7);
INSERT INTO Colors VALUES ('11:00', 'Blue', 1);
INSERT INTO Colors VALUES ('12:00', 'Red', 2);
INSERT INTO Colors VALUES ('12:00', 'Orange', 2);
INSERT INTO Colors VALUES ('12:00', 'Yellow', 7);
INSERT INTO Colors VALUES ('12:00', 'Green', 9);
INSERT INTO Colors VALUES ('12:00', 'Blue', 4);

および SQLFiddle: http://sqlfiddle.com/#!3/48657/1

私が探しているのは、行が Time_、Red、Orange、Yellow、Green、Blue のテーブルです。したがって、次のようになります。

どんな助けでも大歓迎です。

4

1 に答える 1

3
SELECT  Time_,
        Red, 
        Orange, 
        Yellow, 
        Green, 
        Blue
FROM
    (
        SELECT  Time_, Color, Count
        FROM    Colors
    ) orgData
    PIVOT
    (
        MAX(Count)
        FOR Color IN (Red, Orange, Yellow, Green, Blue)
    ) pvt
于 2013-04-13T17:42:45.077 に答える