检查选择查询中的2个字段

时间:2015-01-14 06:01:16

标签: php mysql

我有一个名为'members'的mysql表。

会员| member_id,用户名,电子邮件,密码,domain_name

电子邮件字段不能是NULL,但domain_name可能是。

在这里,我想进行SELECT查询以获取用户名和电子邮件或domain_name。如果特定member_id存在domain_name,则我不需要选择电子邮件。如果不是,我需要收到电子邮件。

这是我此时正在使用的查询。但它选择电子邮件和域名。

SELECT email, username, domain_name 
FROM members
ORDER BY username DESC; 

有人可以帮我更新这个选择查询吗? 谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用CASE

SELECT 
  username,
  CASE
    WHEN domain_name IS NULL 
    THEN email 
    ELSE domain_name 
  END your_alias 
FROM
  members 
ORDER BY username DESC ;

your_alias可以是您要指定为列的任何名称,可以是电子邮件或domain_name

答案 1 :(得分:1)

您可以使用mysql

中的 IF 功能
SELECT `username`, 
IF(`domain_name` IS NULL ,`email`, `domain_name`) as `email_or_domain` 
FROM `members`

MySQL IF函数的语法是:

  

如果(表达式,if_true_expr,if_false_expr)