select count(*)
from(
select a.User_id,a.Name,c.Award_name from t_user as a,t_record as b,t_award as c where a.User_id=b.User_id and 
b.Award_id=c.Award_id and c.Award_id=2 group by a.User_id,a.Name,c.Award_name having count(b.Award_id)=2
)a

解决方案 »

  1.   

    -- 如果是求明细记录数:select count(*)
    from t_user as a,t_record as b,t_award as c ,
    (
    select a.User_id,a.Name,c.Award_name 
    from t_user as a,t_record as b,t_award as c 
    where a.User_id=b.User_id and b.Award_id=c.Award_id and c.Award_id=2 
    group by a.User_id,a.Name,c.Award_name 
    having count(b.Award_id)=2
    )d 
    where a.User_id=b.User_id and b.Award_id=c.Award_id and c.Award_id=2 
       and a.User_id=a.User_id and a.Name=a.Name and c.Award_name=c.Award_name 
        
      

  2.   

    哇,,,十万分的感谢啊。
    但是,请问zjcxc(邹建) 大哥,,
    select count(*)
    from(
    select a.User_id,a.Name,c.Award_name from t_user as a,t_record as b,t_award as c where a.User_id=b.User_id and 
    b.Award_id=c.Award_id and c.Award_id=2 group by a.User_id,a.Name,c.Award_name having count(b.Award_id)=2
    )a
    为什么括号后面还要加个a呢?