2017-04-06 4 views
0

このクエリの列2に指定されなかったが、そのはませ列名は「T」私が持っている

select t.ACCOUNT_ID 
from 
    (select 
     a.ACCOUNT_ID, count(a.ACCOUNT_ID) 
    from 
     EMPLOYER a, EMPLOYER b 
    where 
     a.main_id = b.main_id 
    group by 
     a.MAIN_ID, a.account_id 
    having 
     count(a.account_id) > 1) t 

私は重複を見つけようとしていますが動作していないと サブクエリからのみACCOUNT_IDをフェッチしたかった

+0

後に追加as cnt [悪い習慣をキックする:使用して古いスタイルなJOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-古いスタイルの*カンマで区切られたテーブル*スタイルのリストが、ANSI - ** 92 ** SQL標準の*適切な* ANSI 'JOIN'構文に置き換えられました** 25年前**)、その使用は推奨されない –

答えて

1
select t.ACCOUNT_ID from (select 
a.ACCOUNT_ID,count(a.ACCOUNT_ID) as cnt 
from EMPLOYER a,EMPLOYER b 
where a.main_id = b.main_id 
group by a.MAIN_ID,a.account_id 
having count(a.account_id) > 1)t 

サブクエリから選択する場合は、少なくとも各列の最初のインスタンスに名前を付ける必要があります。

COUNT(a.account_id)

関連する問題