我想为我的用户返回一个朋友列表,并试图收集与其user_id匹配的值。根据值在一行中选择不同的列
| ID | user1_id | user1_status | user2_id | user2_status |
| 1 | 1 | 0 | 2 | 0 |
| 2 | 4 | 1 | 5 | 1 |
| 3 | 4 | 1 | 6 | 0 |
| 4 | 1 | 0 | 4 | 1 |
这里是我有问题,我的价值寻找可以处于“user1_id” /“user2_id”,然后我需要返回“user_status”只为其他用户。 ñ。我让这张桌子非常简单。在我的版本中,我希望我的服务器避免返回更多的列。
假设客户端user_id是4,所以我需要选择user1_id/user2_id等于4的所有行并返回其他人user_status。在表中,等于4的第一个情况在user1_id中,我需要该行返回user2_id和user2_status。
这里是我到目前为止,但它不工作:
mysqli($connect, "
SELECT `id`
CASE
WHEN `user1_id`='4' THEN `user2_id` AND `user2_status`
WHEN `user2_id`='4' THEN `user1_id` AND `user1_status`
ELSE NULL
END
from 'relationship'
where `user1_id`='4' OR `user2_id`='4'
")
如何写这个查询语句?
为什么你有PHP标签? –
因为我在php中查询这个,我应该把它关掉吗? – toastext
我想这个问题只关于SQL,所以你可以删除PHP标签 –