0
选择电子邮件,从过期的成员到期=(选择ifnull(电子邮件,电话)作为'联系'成员,其中过期> ='2008'和到期< ='2009');不止一个子查询返回
我得到多个子查询返回。任何帮助?
我试图回答这个问题:
我们需要用,我们要使用电子邮件作为联系的主要手段,其有效期是2008年我们的会员取得联系;但是,如果电子邮件地址不可用,我们想知道他们的电话号码。
选择电子邮件,从过期的成员到期=(选择ifnull(电子邮件,电话)作为'联系'成员,其中过期> ='2008'和到期< ='2009');不止一个子查询返回
我得到多个子查询返回。任何帮助?
我试图回答这个问题:
我们需要用,我们要使用电子邮件作为联系的主要手段,其有效期是2008年我们的会员取得联系;但是,如果电子邮件地址不可用,我们想知道他们的电话号码。
用于代替=在这种情况下。
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';
为什么你有一个子查询呢?从过期> ='2008'和到期<='2009''的成员选择ifnull(电子邮件,电话)为'联系人'有什么问题? – kba 2014-11-01 00:48:04
完美的工作,谢谢! – Victor 2014-11-01 00:50:44
@kba,发布这个答案是什么错误? – Rahul 2014-11-01 00:52:55