Sql server SQL Server:查找存在一个条目但缺少另一个条目的人员记录

Sql server SQL Server:查找存在一个条目但缺少另一个条目的人员记录,sql-server,Sql Server,我试图从表中提取数据,以显示包含一个服务项但不包含另一个服务项的每个person记录。我想要所有“个人id”记录,其中有66984的服务项目,但没有92136的服务项目。对于每个人员id,每个附加的服务项目都有多个条目。这是我正在尝试的代码,但结果是空的: select person_id, service_item_id from charges where exists (SELECT person_id from charges where service_item_id = '66984

我试图从表中提取数据,以显示包含一个服务项但不包含另一个服务项的每个person记录。我想要所有“个人id”记录,其中有66984的服务项目,但没有92136的服务项目。对于每个人员id,每个附加的服务项目都有多个条目。这是我正在尝试的代码,但结果是空的:

select person_id, service_item_id from charges
where exists (SELECT person_id from charges where service_item_id = '66984') 
and not exists (SELECT person_id from charges where service_item_id = '92136')
order by person_id
更进一步,我希望它一次检查多个代码。因此,它检查92136或76519是否不存在,并返回所有具有66984但没有其他代码的person_ID


谢谢

关闭,您需要在子查询中添加person\u id

select person_id, service_item_id from charges  
where exists (SELECT person_id from charges c1 where charges.person_id = c1.person_id and service_item_id = '66984') 
and not exists (SELECT person_id from charges c2 where charges.person_id = c2.person_id and service_item_id = '92136')
order by person_id