两张桌子:
表1fax_history
fax_key
1001
1002
表2>
fax_history_status
fax_key Status
1001 NEW
1001 SUCCESS
1002 NEW
现在我需要编写一个
join query
记录,它只返回fax_key=1002
记录,因为fax_key=1001
在fax_history_status
表中有多个记录。所以查询结果应该是:
fax_key status
1002 NEW
最佳答案
您可以使用having
筛选行。
select a.fax_key
from fax_history a
inner join fax_history_status b on a.fax_key = b.fax_key
group by a.fax_key
having count(*) =1
对于状态,可以使用(假)聚合函数,例如:
select a.fax_key , min(b.status)
from fax_history a
inner join fax_history_status b on a.fax_key = b.fax_key
group by a.fax_key
having count(*) =1
关于sql - 如果LEFT JOIN表记录数大于1,则排除行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45499619/