日期:2014-05-17  浏览次数:20426 次

sql 两表统计查询
有两张表   表A 字段有 id  palyid  senddate  表B 字段有 id sex senddate
如表A 有如下两条数据
 id  palyid      senddate
 1     20       2010-10-22
 2     30       2010-10-20
表B有下面四条数据
 id   sex         senddate
  1    0         2010-10-20
  2    0         2010-10-20
  3    1         2010-10-22
  4    0         2010-10-19
  怎么查询通过senddate来判断相等的时间下有这样的数据  不相等就将各自的详细信息以一张新表获得结果  如
  id     senddate        team      person  
   1      2010-10-22       1          1
   2      2010-10-20       1          2
   3      2010-10-19       0          1
求大神帮忙  sql2005

------解决方案--------------------
其实不知道你最终想要如何的,你看看是不是这样?
SELECT  ( ROW_NUMBER() OVER ( ORDER BY r.send_date DESC ) ) rownumber ,
        send_date ,
        ( SELECT    COUNT(*)
          FROM      T_xmim_provide_log r1
          WHERE     r1.send_date = r.send_date
        ) AS person ,
        ( SELECT    COUNT(*)
          FROM      T_xmim_Group_Provide_log r2
          WHERE     r2.send_date = r.send_date
        ) AS team
FROM    T_xmim_provide_log r
GROUP BY send_date
UNION ALL 
SELECT  ( ROW_NUMBER() OVER ( ORDER BY r.send_date DESC ) ) rownumber ,
        send_date ,
        ( SELECT    COUNT(*)
          FROM