2014-01-19 92 views
-1

我試圖讓我的數據庫中的所有用戶都有或沒有友誼的請求,但如果他們確實有友情的請求,我不想讓那些特定的用戶是友誼請求的一部分。 我的存儲過程名爲getNotFriendsOfUser。 這是查詢:左加入where子句不起作用

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 

幫助?

+5

發佈SQLFiddle與數據 –

+0

我認爲這是'@ idPerson',但沒有信息,我不知道。 –

+0

你是內心加入角色,你確定這是人口稠密? – TomT

回答

1

然後使用您的左連接的子查詢或派生表來查找要忽略的結果並將它們排除在主鍵上。