Sql 查询以根据列的结果添加列

Sql 查询以根据列的结果添加列,sql,mysql,Sql,Mysql,我有一个用户表“users”,其中包含如下字段: id first_name last_name ... 并有另一个确定关系的表: user_id friend_id user_accepted friend_accepted .... 我想生成一个查询,选择所有用户,同时添加另一个字段/列,如“网络状态”,该字段/列取决于用户接受值和恶魔接受值。例如,如果user_accepted为true friend_accepted为false,我希望“network_status”字段显示“req

我有一个用户表“users”,其中包含如下字段:

id
first_name
last_name
...
并有另一个确定关系的表:

user_id
friend_id
user_accepted
friend_accepted
....

我想生成一个查询,选择所有用户,同时添加另一个字段/列,如“网络状态”,该字段/列取决于用户接受值和恶魔接受值。例如,如果user_accepted为true friend_accepted为false,我希望“network_status”字段显示“request sent”。我可以在一个查询中完成此操作吗?(我不希望在查询中使用if/else,但如果这是唯一的方法,那就这样吧)

您必须查看

差不多

SELECT  u.id,
        u.first_name,
        u.last_name,
        CASE 
            WHEN r.user_accepted = 1 AND r.friend_accepted = 0
                THEN 'request sent'
            ELSE 'Not sure'
        END
FROM    users u LEFT JOIN
        relationships r ON u.id = r.user_id