Sql语句,分组统计多表联查,需要加时间段查询
表1
lqr sl rq
张三 200 2014-10-19
李四 100 2014-10-21
张三 50 2014-10-22
李四 20 2014-10-22
表2
lqr sl rq
张三 200 2014-10-19
李四 100 2014-10-21
想要的效果
lqr kc lq
张三 200 250
李四 100 120
在线等...万分感谢
select a.lqr,
(select sum(sl) from t2 where a.lqr = t2.lqr) kc,
(select sum(sl) from t1 where a.lqr = t1.lqr) lq
from
(
select lqr
from t1
union
select lqr
from t2
) a
可以实现 但是没有时间段
SELECT lyqy,
(SELECT SUM(sl)
FROM tb_hgz
WHERE a.lyqy = tb_hgz.lyqy) AS kc,
(SELECT SUM(sl)
FROM tb_hgzjl
WHERE a.lyqy = tb_hgzjl.lyqy) AS lq
FROM (SELECT lyqy, lyrq
FROM tb_hgzjl
UNION
SELECT lyqy, lyrq
FROM tb_hgz) a
的话 效果就成
lqr kc lq
张三 200 250
张三 200 250
李四 100 120
另外
SELECT a.lqr, SUM(b.sl) AS kc, SUM(a.sl) AS lqs,
FROM t1 a INNER JOIN
t2 b ON a.lqr = b.lqr
GROUP BY a.lqr
这样 为什么出来的kc会是400
求大神!