2017-01-23 36 views
1

IDの行の総数が4未満の場合にのみ結果を取得するようにクエリの結果を制限する必要があります。また、select文の列を失うことなくこれを行う方法がわかりません。Countを使用してクエリ結果を制限する

select fje.journalID, fjei.ItemID, fjei.acccount, fjei.debit, fjei.credit 
from JournalEntry fje 
inner join JournalEntryItem fjei on fjei.journalID = fje.journalID 
inner join JournalEntryItem fjei2 on fjei.journalID = fjei2.journalID and 
     fjei.ItemID != fjei2.ItemID 
order by fje.journalID 

したがって、journalID1に5行が含まれている場合は除外する必要がありますが、4行の場合はクエリに表示されます。正しい方向にプッシュするだけです。ありがとう!

+0

ナッジ:SELECT COUNT(journalId)... GROUPBY(フィールド)...有する第三 'JOIN'が提供しているどのような目的にとしてカウント(journalId)<5つの – Forklift

+0

その明確ではありません。あなたはどこにでもそれを使用しているようではありません。 – apokryfos

+0

私は仕訳入力項目の重複を見つけようとしています。別の参加者よりも効果的な方法があれば、それを学ぶのが大好きです! – Michelle

答えて

1

エイリアスを持つサブクエリには多くの名前がありますが、効果的なテーブルです。あなたの場合、あなたはこのようなことをするでしょう。

select your fields 
from your tables 
join (
select id, count(*) records 
from wherever 
group by id) derivedTable on someTable.id = derivedTable.id 
    and records < 4 
関連する問題