AK
Size: a a a
AK
PV
VG
AK
PV
VG
AK
AK
PV
AK
VG
AK
AK
VG
PV
PV
CREATE TABLE data_table(id SERIAL, title TEXT, attribute TEXT);
INSERT INTO data_table(title, attribute) VALUES('titleA','att1');
INSERT INTO data_table(title, attribute) VALUES('titleA','att2');
INSERT INTO data_table(title, attribute) VALUES('titleA','att3');
INSERT INTO data_table(title, attribute) VALUES('titleA','att4');
INSERT INTO data_table(title, attribute) VALUES('titleB','att1');
INSERT INTO data_table(title, attribute) VALUES('titleB','att2');
INSERT INTO data_table(title, attribute) VALUES('titleB','att3');
INSERT INTO data_table(title, attribute) VALUES('titleB','att4');
SELECT titleA, titleB FROM (
SELECT
CASE WHEN title = 'titleA' THEN attribute ELSE NULL END AS titleA,
CASE WHEN title = 'titleB' THEN attribute ELSE NULL END AS titleB
FROM data_table
) AS result;
PV
АГ
AK
WITH src AS (
SELECT 'title A' AS TitleName, 0.0 AS TitleValue
UNION ALL
SELECT 'title B' AS TitleName, 0.0 AS TitleValue
UNION ALL
SELECT 'title A' AS TitleName, 1.0 AS TitleValue
UNION ALL
SELECT 'title B' AS TitleName, 1.0 AS TitleValue
UNION ALL
SELECT 'title A' AS TitleName, 10.0 AS TitleValue
UNION ALL
SELECT 'title B' AS TitleName, 10.0 AS TitleValue
UNION ALL
SELECT 'title A' AS TitleName, 15.0 AS TitleValue
UNION ALL
SELECT 'title B' AS TitleName, 15.0 AS TitleValue
)
SELECT max(titleA) AS titleA, max(titleB) AS titleB
FROM (
SELECT CASE WHEN TitleName = 'title A' THEN TitleValue ELSE null END AS titleA,
CASE WHEN TitleName = 'title B' THEN TitleValue ELSE null END AS titleB,
ROW_NUMBER() over() AS r_num
FROM src) AS pivot
GROUP BY r_num + r_num % 2;
PV