请问两表结合SQL怎么写?

wtb119 2013-05-08 08:59:26
表t1:
date num1 name
-------------------------------------------------
20130101 1 张三
20130101 3 李四

表t2:
date num2 name
-------------------------------------------------
20130101 1 张三
20130101 2 张三
20130101 3 李四
20130101 3 李四

现在要求统计成:
date num1 num2_sum name
------------------------------------------------------------------
20130101 1 3 张三
20130101 3 6 李四

请问SQL怎么写?
...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lygcw9602 2013-05-08
  • 打赏
  • 举报
回复
CREATE CURSOR T1 (DATE C(8),NUM1 N(1),NAME C(10))
INSERT INTO T1 VALUES ([20130101],1,[张三])
INSERT INTO T1 VALUES ([20130101],3,[李四])

CREATE CURSOR T2 (DATE C(8),NUM2 N(1),NAME C(10))
INSERT INTO T2 VALUES ([20130101],1,[张三])
INSERT INTO T2 VALUES ([20130101],2,[张三])
INSERT INTO T2 VALUES ([20130101],3,[李四])
INSERT INTO T2 VALUES ([20130101],3,[李四])
SELECT A.DATE,A.NUM1,NUM2_SUM,A.NAME FROM T1 A ;
 LEFT JOIN (SELECT DATE,SUM(NUM2) NUM2_SUM,NAME FROM T2 GROUP BY 1,3) B ;
 ON A.DATE==B.DATE AND A.NAME==B.NAME
WWWWA 2013-05-08
  • 打赏
  • 举报
回复
select name,date,sum(iif(bz=1, num1,0)),sum(iif(bz=2, num1,0)) FROM ;
(;
select 1 as bz,* from t1;
union all;
select 2 as bz,* from t2;
) a;
group by name,date
wtb119 2013-05-08
  • 打赏
  • 举报
回复
t2表 在楼上的SQL表里进了没体现?
rabitsky 2013-05-08
  • 打赏
  • 举报
回复
select a.date,a.num1,b.num2,a.name from (select date,name,sum(num1) num1 from t1 group by date,name) a join (select date,name,sum(num2) num2 from t2 group by date,name) b on a.date = b.date and a.name = b.name
WWWWA 2013-05-08
  • 打赏
  • 举报
回复
select name,date,sum(iif(bz=1, num1,0)),sum(iif(bz=2, num1,0)), ( select 1 as bz,* from t1 union all select 2 as bz,* from t1 ) a group by name,date

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧