2017-10-19 4 views
1

これは別の質問を拡張したものです:私があれば最初column(c_id)nullを表示したい表示NULL値

c_id c_name  c_tax 

1001 Element1 1 
1001 Element1 2 
1001 Element2 1 
1001 Element2 2 
1002 Element3 null 
1002 Element4 1 
1002 Element4 2 

How to display null value when the record is present more than one time in oracle sql

私は次のように設定されたテーブルを持っています次の条件に基づいて第3のcolumn(c_tax)に2回以上存在し、はいまたはいいえ。

Element1には、1と2の2つの税金があります。は一度表示され、c_taxははいになります。 Element3には税金がありませんので、nullと表示されます。

私の出力は次のようになります。

c_id c_name  c_tax 

1001 Element1 Yes 
null Element2 Yes 
1002 Element3 No 
null Element4 Yes 
+0

内部stackoverlowリンクではなく、リンクの書式を使用するよりも、生の貼り付けする必要があります。 –

答えて

1

は私が正しく理解していれば:

select (case when row_number() over (partition by cid order by c_name) = 1 then cid end) as cid, 
     c_name, 
     (case when max(c_tax) is not null then 'yes' else 'no' end) as c_tax 
from t 
group by c_id, c_name 
order by c_id, c_name; 
+0

あなたが正しく理解しただけでなく、あなたの答えは完璧です。大変ありがとうございます@Gordon Linoff – Santosh

関連する問題