选择电子邮件,过期成员到期时间=(选择ifnull(电子邮件,电话)为“联系人”,其中有效期为> ='2008'且到期时间为< ='2009');
我返回了多个子查询。有什么帮助吗?
我想回答这个问题:
我们需要与2008年到期的会员取得联系,我们希望使用电子邮件作为主要联系方式;但是,如果没有电子邮件地址,我们想知道他们的电话号码。
答案 0 :(得分:0)
在这种情况下使用in而不是=。
select email, expiration
from member
where expiration in (select ifnull(email, phone) as 'Contact' from member where expiration >= '2008' and expiration <='2009');
但这也行不通。因为您尝试将过期与电子邮件或电话进行比较。
正确的查询应该是:
select ifnull(email, phone) as 'Contact', expiration
from member
where expiration >= '2008' and expiration <='2009';