我不能超过子查询返回多行

时间:2015-01-09 11:25:41

标签: mysql

子查询返回超过1行。在执行以下查询

期间会出现此问题
    select 
         profileid
         ,(
              select profileid from customer where gender in
              (select gender from customer c where c.profileid= cc.profileid)
          )
    from customer cc where 
    profileid in(10000,10001)

如果选定的人

,我想获得他们处于异性的客户名单

2 个答案:

答案 0 :(得分:2)

在单个查询中,您需要在外部选择结果。

在这里,我已将您的条件作为子查询添加到WHERE语句中,以便您具有目标的性别。

当然,如果身份证号码导致不同性别,您将得不到任何结果。我不知道你是否存储性别是一个整数或一个字符串。如果是字符串,您可能需要替换NOT IN的{​​{1}}。

<>

答案 1 :(得分:0)

说下面的查询

select gender from customer c where c.profileid= cc.profileid

输出&#34; &#34;

然后这个查询

select profileid from customer where gender in ("Male")

会发出多列。