以下のタスクにOracleデータベースを使用しています。
私はデータが以下のようなテーブルを持っています -
ID SSN
-------------
10 A
20 A
10 B
20 B
30 B
20 C
今、これらのレコードを以下の形式で表示したい -
SSN ID_10_Indicator ID_20_Indicator ID_30_Indicator
----------------------------------------------------------------
A Y Y N
B Y Y Y
C N Y N
以下のクエリを使用しています-
select ssn,
(case when ID = '10' then 'Y' else 'N') as ID_10_Indicator,
(case when ID = '20' then 'Y' else 'N') as ID_20_Indicator,
(case when ID = '30' then 'Y' else 'N') as ID_30_Indicator
from table1
group by ssn,
(case when ID = '10' then 'Y' else 'N'),
(case when ID = '20' then 'Y' else 'N'),
(case when ID = '30' then 'Y' else 'N')
しかし、SSN の一意の行を取得できません。代わりに、以下のようにレコードを取得しています-
SSN ID_10_Indicator ID_20_Indicator ID_30_Indicator
----------------------------------------------------------------
A Y N N
A N Y N
B Y N N
B N Y N
B N N Y
C N Y N
提案してください。どんな助けでも素晴らしいでしょう。