By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE X (
XYEAR INT,
QQ VARCHAR(10),
AMOUNT INT);
INSERT INTO X
VALUES
(2017,'Q1',200),
(2017,'Q2',250),
(2017,'Q3',235),
(2017,'Q4',266),
(2018,'Q1',195),
(2018,'Q2',220),
(2018,'Q3',215),
(2018,'Q4',240);
SELECT *
FROM X;
XYEAR | AMOUNT | |
---|---|---|
2017 | Q1 | 200 |
2017 | Q2 | 250 |
2017 | Q3 | 235 |
2017 | Q4 | 266 |
2018 | Q1 | 195 |
2018 | Q2 | 220 |
2018 | Q3 | 215 |
2018 | Q4 | 240 |
SELECT A.XYEAR,A.AMOUNT AS 'Q1',B.AMOUNT AS 'Q2',C.AMOUNT AS 'Q3',D.AMOUNT AS 'Q4'
FROM X AS A
LEFT JOIN X AS B ON B.XYEAR=A.XYEAR AND B.QQ='Q2'
LEFT JOIN X AS C ON C.XYEAR=A.XYEAR AND C.QQ='Q3'
LEFT JOIN X AS D ON D.XYEAR=A.XYEAR AND D.QQ='Q4'
WHERE A.QQ='Q1'
ORDER BY A.XYEAR
XYEAR | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
2017 | 200 | 250 | 235 | 266 |
2018 | 195 | 220 | 215 | 240 |