Показать значения столбца в строке в DB2 - PullRequest
0 голосов
/ 20 февраля 2019

Есть ли способ отобразить некоторое значение столбца в строке с последующими оставшимися столбцами?Я написал следующий запрос, и он дает 3 строки в качестве вывода, однако он должен приносить только 1 вывод.

select asset.assetnum, asset.serialnum, assetspec.alnvalue , assetspec.assetattrid  
from asset  
left outer join  assetspec on asset.assetnum = assetspec.assetnum  
and asset.classstructureid = assetspec.classstructureid  
where asset.assetnum='100' AND assetspec.ASSETATTRID IN ('XXX','YYY','ZZZ')

ВЫХОД

ASSETNUM   SERIALNUM    ALNVALUE  ASSETATTRID
100            123         A         XXX
100            123         B         YYY
100            123         C         ZZZ 

ОЖИДАЕМЫЙ ВЫХОД

ASSETNUM   SERIALNUM    XXX    YYY   ZZZ
 100          123         A      B    C

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте это:

with tab (ASSETNUM, SERIALNUM, ALNVALUE, ASSETATTRID) as (values
  (100, 123, 'A', 'XXX')
, (100, 123, 'B', 'YYY')
, (100, 123, 'C', 'ZZZ')
)
select ASSETNUM, SERIALNUM
, max(case ASSETATTRID when 'XXX' then ALNVALUE end) as XXX
, max(case ASSETATTRID when 'YYY' then ALNVALUE end) as YYY
, max(case ASSETATTRID when 'ZZZ' then ALNVALUE end) as ZZZ
from tab
group by ASSETNUM, SERIALNUM;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...