我的表名聊天如下
我正在尝试以下查询我可以获取数据
SELECT chat_detail_id,from_user_id,to_user_id,time FROM chat as c WHERE c.to_user_id='3' OR c.from_user_id='3'
但是,如果我使用用户ID = 3获取数据(c.to_user_id =' 3'或者c.from_user_id =' 3')我想要一个具有other_id的列名称具有值from_user_id或to_user_id除了在我的情况下获取用户ID是3
以下输出以红色突出显示此s other_id行:
任何帮助都将非常感谢
答案 0 :(得分:1)
可以有两种方法来解决这个问题。
您可以使用PHP或使用SQL来解决它。
如果您选择使用PHP,
您执行相同的查询,然后在获取后创建一个if语句。
if($fetched['to_user_id'] == '3')
$other_id = $fetched['from_user_id'];
else
$other_id = $fetched['to_user_id'];
另一个选择是使用SQL查询。
SELECT chat_detail_id,from_user_id,to_user_id,CASE c.to_user_id WHEN '3' THEN (c.from_user_id) ELSE (c.to_user_id) END AS other_id FROM chat as c WHERE (c.to_user_id='3' OR c.from_user_id='3')
编辑:已修复,现在可以使用。