我有一个名为'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;
有人可以帮我更新这个选择查询吗? 谢谢。
答案 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)