左边连接where子句不起作用

时间:2014-01-19 01:48:27

标签: sql tsql

我正在尝试让我的数据库中的所有用户有或没有友谊请求,但如果他们确实有友谊请求,我不希望特定用户属于友情请求的用户。 我的存储过程名为getNotFriendsOfUser。 这是查询:

select * from user a left join request b on a.idPerson = b.idRequester
inner join persona c on a.idPerson = c.idPerson 
where b.idRequester <>  @idPerson

我的数据库没有友好关系,有超过10个用户要测试,但我找不到为什么这个查询总是返回一组空值。

这确实给出了结果btw:

select * from user a left join request b on a.idPerson = b.idRequester
    inner join persona c on a.idPerson = c.idPerson 

帮助?

1 个答案:

答案 0 :(得分:1)

然后使用左连接的子查询或派生表来查找要省略的结果并将其排除在主键上。