Недостаточно информации, чтобы четко понять ваши требования, но я предположил, что ваши данные выглядят следующим образом:
TXT | Format A |Format B | Format C
----------------------------------------
Format A | 10 | 20 | 30
Format B | 20 | 30 | 40
Format C | 30 | 40 | 50
Теперь, если вы хотите повернуть эту таблицу, чтобы отобразить значения для каждой комбинации без дубликатов,Вы можете использовать логику следующим образом:
SELECT
'A' || CASE WHEN RIGHT("TXT",1) = 'A' THEN '' ELSE RIGHT("TXT",1) END AS "FORMAT" ,
"Format A" AS "OUTPUT"
FROM
"YOUR_TABLE"
UNION
SELECT
'B' || CASE WHEN RIGHT("TXT",1) = 'B' THEN '' ELSE RIGHT("TXT",1) END,
"Format B" AS "OUTPUT"
FROM
"YOUR_TABLE"
WHERE
"TXT" != 'Format A'
UNION
SELECT
'C' || CASE WHEN RIGHT("TXT",1) = 'C' THEN '' ELSE RIGHT("TXT",1) END,
"Format C" AS "OUTPUT"
FROM
"YOUR_TABLE"
WHERE
"TXT" NOT IN ('Format A', 'Format B')
;
И вывод будет выглядеть следующим образом:
FORMAT | OUTPUT
A | 10
AB | 20
AC | 30
B | 30
BC | 40
C | 50