我在寻找一个SELECT查询,我可以找出两个用户的状态,状态可以是多个事情,但让我们保持简单并检查两个用户是否是朋友。如何检查用户x和用户x的状态?
使用此查询我可以选择每个有x状态的用户,现在x表示没有状态。但是这样做,我得到的用户表返回,我想返回是true或false。此外,此查询返回每个具有x状态的用户x。我想根据以下情况返回true或false:如果用户x和x有状态,在这种情况下为朋友。我希望我在这里不要模糊。
SELECT
u.*
FROM User u
LEFT JOIN User_Status us
ON u.id = User_ID1
AND us.User_ID2 = 4
WHERE us.status IS NULL
用户表:
ID-----first_name-----last_name-----etc...<br>**
-2--------James----------someting-------...<br>
-4----------Jack-----------someting-------...<br>
-5--------Sabrina---------someting-------...<br>
User_status表:
User_ID1-----User_ID2-----Status<br>**
-----------4-----------------2-----friends<br>
-----------2-----------------4-----friends<br>
-----------4-----------------5-----something else<br>
-----------5-----------------4-----something else<br>
通缉的结果:
ID 2 (James) & ID 4 (Jack)
isFriend
true
ID 2 (James) & ID 5 (Sabrina)<br>
isFriend
false (They don't even have a status together.)
在您期望的结果中,您具有相同的ID但结果不同... – Mihai
哎呀!固定... –