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