我有一个用户表'users',其中包含以下字段:
id
first_name
last_name
...
并有另一个确定关系的表:
user_id
friend_id
user_accepted
friend_accepted
....
我想生成一个选择所有用户的查询,但也要添加另一个字段/列,说'network_status'取决于user_accepted和fiend_accepted的值。例如,如果user_accepted为true,则friend_accepted为false我希望'network_status'字段说'request sent'。我可以在一个查询中执行此操作吗? (我不想在查询中使用if / else,但如果这是唯一的方式,那么就是这样)
答案 0 :(得分:3)
您必须查看CASE Statement
像
这样的东西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