2017-11-27 23 views
-1

テーブルCUSTOMERから得意先名を取得し、テーブルACCOUNTから残高を取得する必要があります。私は両方のテーブルに参加するが役に立たない。同じ列名を含む2つの表を結合する場合は、表名または表の別名とピリオド(。)のいずれかを使用して複数の表に存在する列名の接頭辞参照を使用する必要があります。そうでない場合はエラー・メッセージORA- 00918列があいまいに定義されます。サブクエリを使用して2つのテーブルを結合する方法

select c.cfirst, c.clast, a.balance 
from customer c, account a 
where c.social = a.social AND social in (select social from account where social in (select social 
from trans where dotrans > '04/01/2016' and means_of_trans = 'credit')); 
+2

あなたの質問もあいまいです。あなたの質問に直面している問題を親切に説明してください。一見すると、メインクエリの 'AND'の後にエイリアスが必要なようです。 – zarruq

答えて

0

ソーシャルコラムの名前はaliasとする必要があります。どちらの表にもこの列があるためです。あなただけのトランステーブルからの社会的価値を持つアカウントテーブルから社会的な価値をチェックされているとして、再びアカウントテーブルのサブクエリを持っている

select c.cfirst, c.clast, a.balance 
from customer c, account a 
where c.social = a.social AND a.social in (select social 
             from account 
             where social in (select social 

                 from trans 
                 where dotrans > '04/01/2016' and means_of_trans = 'credit')); 
0

必要がありません:

はこれを試してみてください。

select c.cfirst, c.clast, a.balance 
    from customer c, account a 
    where c.social = a.social 
    AND a.social in (select social 
         from trans where dotrans > '04/01/2016' 
         and means_of_trans = 'credit' 
        ); 
関連する問題