0

従業員に関する詳細を含むソース テーブルがあり、欠落情報テーブルを派生させる必要があります。欠損値のリスト付き。欠落している値は、NULL または JUST 空のスペースである可能性があります。

Source Table
**************

Name    Age       Gender     Experience 
-------------------------------------------------------------
David   22         M           IT
John    [NULL]     M          POLITICS
Judy    19      [NULL]        [NULL]
Jasmine [NULL]  [NULL]        [NULL]


Target Table
**************

Name    Missing_description
---------------------------------------------
John    Missing Age
Judy    Missing Gender, Experience
Jasmine Missing Age, Gender, Experience
4

2 に答える 2

1

試す

insert into TargetTable (name, description)
select name,'Missing'||description from (
select name, LISTAGG(descr, ', ') within group (order by descr) as description
from (
 select name, 'age,' as descr from SourceTable where age is null
 union all
 select name, 'Gener,' from SourceTable where gender is null
 union all
 select name, 'Experience' from SourceTable where Experience  is null    
) as a
group by name) as b

http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php

于 2013-10-10T00:12:38.410 に答える
0

メモリによる書き込み、現在オラクルはインストールされていませんが、クエリは次のようになります。

insert into TargetTable (name, description)
select name, LISTAGG(descr, ', ') within group (order by descr) as description
from (
 select name, 'Missing age' as descr from SourceTable where age is null
 union all
 select name, 'Missing Gener' from SourceTable where gender is null
 union all
 ...
) as a
group by name

文字列集計は、文字列集計手法から取得されます

于 2013-10-10T00:05:07.087 に答える