У меня есть таблица в Oracle 10g, которая содержит некоторую информацию следующим образом:
SQL> select * from t_test;
INFO CODIGO GRUPO
---------- ---------- ----------
101 190 VTOS
100 130 VTOS
102 140 VTOS
Я хотел бы извлечь все строки, имеющие GRUPO = 'VTOS', и перенести эти строки в столбцы.Значения в CODIGO предопределены (я знаю, какие значения могут быть сохранены в этом столбце), поэтому хотелось бы получить что-то вроде этого:
INFO_190 INFO_130 INFO_140
-------- -------- --------
101 100 102
Я знаю, что могу сделать это с некоторыми подзапросами, например:
SELECT (SELECT info
FROM t_test
WHERE codigo = 190 AND grupo = 'VTOS') info_190,
(SELECT info
FROM t_test
WHERE codigo = 130 AND grupo = 'VTOS') info_130,
(SELECT info
FROM t_test
WHERE codigo = 140 AND grupo = 'VTOS') info_140
FROM DUAL
но я бы хотел найти более эффективный способ.Кто-нибудь может подсказать, как это сделать?