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中返回两个值,并且表中都有记录的值,我将返回两个地址.
我怎么解决这个问题?
而不是=使用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)
| 归档时间: |
|
| 查看次数: |
23416 次 |
| 最近记录: |