2016-12-28 8 views
1

表の列:ID、名前、年齢オラクルDBに2列を比較し、表示列の不一致

まず行:

select 11, 'James', 22 from dual; 

これが返されます

11 James 22 

2行目:

select * from supplier where id=11`; 

11 Vinod 25 

は、今私は両方の行を比較したかっ戻る:

11 James 22 
11 Vinod 25 

それは違いがあり、列を返す必要があります。

名前の不一致 年齢ミスマッチ

私は12cは、これを解決するオラクルで機能であっ内蔵されて使用しています。 または私が同じもののための解決策を達成することができる他の方法。事前に

おかげ..

`

+0

は、あなたが望むすべての行です同じテーブル内の現在を比較するには? – GurV

+0

私は静的なデータ行をテーブルのデータ行と比較しています – vinod

+0

このような機能は組み込まれていません。しかし、それは達成するのは非常に簡単です。ブロッカーとは何ですか? – GurV

答えて

3

あなたはjoindecode場合は、列値の一致を見つけるために(あるいはcaseを使用することができます)を使用することができます。

with cte(id, name, age) as (select 11, 'James', 22 from dual) 
select 
    s.id, 
    decode(s.name, t.name, null, 'Name mismatch') name_check, 
    decode(s.age, t.age, null, 'Age mismatch') age_check 
from supplier s 
inner join cte t 
on s.id = t.id 
where s.id = 11; 
+0

魅力のように動作します..ありがとうGurwinderいい日を過ごす.. – vinod

+0

私はまた同様にケースで試してみます.. – vinod

関連する問題