SELECT aid FROM 表A WHERE adate > @date1 AND adate < @date2
AND aid IN(SELECT aid FROM 表B GROUP BY aid HAVING COUNT(1) >= 3)

解决方案 »

  1.   

    hhhdyj你的语句漏了bname1,bname2要相同的条件
      

  2.   

    select a.aid
    from a
    inner join b
    on a.aid = b.aid
    where a.adate between data1 and date2
    group by b.aid,b.bname1,b.bname2
    having count(b.aid) > 3
      

  3.   

    SELECT aid FROM 表A WHERE adate > @date1 AND adate < @date2
    AND aid IN(SELECT aid FROM 表B WHERE bname1 = bname2 GROUP BY aid HAVING COUNT(1) >= 3)
      

  4.   

    回xluzhong(Ralph) :
    B表的aid,bname1,bname2都相同的只有一条,相当于键码,count()>3的记录肯定为空回hhhdyj(萤火虫):
    可能我表诉的不是很清楚.不是bname1=bname2,而是对于两条纪录B1与B2,B1.bname1=B2.bname1,
    B1.bname2=B2.bname2