2010-03-28 61 views
2

我有一个用户表“用户”有场像的结果中添加一列想要生成一个查询来选择所有的用户,但是还要添加另一个字段/列,并且说'network_status'取决于user_accepted和fiend_accepted的值。例如,如果user_accepted为true,friend_accepted为false,我希望'network_status'字段说'发送请求'。我可以在一个查询中做到这一点? (我不喜欢用户的if/else里面的查询,但如果这是唯一的办法就这样吧)查询取决于有列

回答

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