如果子查询返回多个值,如何处理

Lov*_*MVC 2 sql sql-server-2005

我有一个存储过程,我正在使用子查询,但问题是我的子查询返回2个值,我将基于这两个值返回所有记录.

Select * from [Address] where AddressID=
(Select AddressID from PersonAddress where PersonID=
(select Claimant from [Case] where CaseID=35))
Run Code Online (Sandbox Code Playgroud)

在这个查询AddressID中返回两个值,并且表中都有记录的值,我将返回两个地址.

我怎么解决这个问题?

aF.*_*aF. 6

而不是=使用IN:

Select * from [Address] where AddressID IN
(Select AddressID from PersonAddress where PersonID IN
(select Claimant from [Case] where CaseID=35))
Run Code Online (Sandbox Code Playgroud)

或尝试JOIN,正确的方法:

Select * from Address a
inner join PersonAddress p on a.AdressID = p.AddressID
inner join Case c on p.PersonID = c.Claimant
where c.CaseID = 35
Run Code Online (Sandbox Code Playgroud)