如何查询分组结果集中的一条记录是否满足条件?

时间:2018-10-30 03:31:47

标签: sql group-by

我创建了this db fiddle example来帮助说明问题。基本上,我希望将插入表中的最后四个记录从结果集中排除。之所以将它们排除在外,而将前四条记录包括在内,是因为我只是从同一个人中查找具有相同金额的记录,并且其中至少有一条记录带有“费用”的描述。但是我不确定如何检查句子的最后一部分。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这样可以,随时提出任何疑问,

Select * 
from tableA C
where exists(
Select * From 
tableA a JOIN
tableA b on a.PersonId=b.PersonId and a.Amount=b.Amount and a.Description ='fee' and 
b.Description!='fee'
where C.PersonId=a.PersonId and C.Amount=a.Amount)