2017-01-23 94 views
1

我需要限制查詢的結果,以便它只在ID的行總數小於4時取得結果,並且我不確定如何在不丟失select語句列的情況下執行此操作。使用計數限制查詢結果

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 

所以,如果journalID 1有5條線路,它應該被排除,但是如果它有4條線,我應該看到它在我的查詢。只需要一個正確的方向。謝謝!

+0

微調:SELECT COUNT(journalId)...的GroupBy(場)......具有計數(journalId)<5點 – Forklift

+0

它不是作爲第三'JOIN'是服務什麼目的明確。你似乎沒有在任何地方使用它。 – 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