我需要限制查询的结果,以便它只会在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 :(得分: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