+ -
当前位置:首页 → 问答吧 → 一个查询的问题!!!!!!!!

一个查询的问题!!!!!!!!

时间:2011-11-16

来源:互联网

SQL code

/*
两个表结构一样,
Id    int    
LoginName    varchar(50)    
num    int    
Grade    int    

数据如下:
t1
1    zhangsan    1    1
2    lisi    4    1
3    wangwu    7    4
4    xiaoming    3    3


t2
1    zhangsan    8    1
2    lisi    9    1
3    wangwu    8    4
4    xiaoming    8    3

怎么可以查询成下面的结果
根据去除重复的loginname获取sum(num)
1 zhangsan 9  1
2 lisi    13 1
3 wangwu 15 4
4 xiaoming 11 3



*/

作者: qiudong_5210   发布时间: 2011-11-16

SQL code
select a.id,a.loginname,a.num+b.num as num a.grade
from t1 a inner join t2 b on a.id=b.id

作者: qianjin036a   发布时间: 2011-11-16

SELECT ID,LOGINNAME,SUM(NUM),GRADE
FROM
(SELECT * FROM A
UNION ALL 
SELECT * FROM B)

GROUP BY ID,LOGINNAME,GRADE

作者: SQL777   发布时间: 2011-11-16

SQL code
select LoginName,sum(num) from
(select LoginName,num from A union all select LoginName,num from B)t
group by LoginName

作者: ssp2009   发布时间: 2011-11-16

如果每张表中都有一百万条数据,请问哪种方式效率会高点呢?

作者: qiudong_5210   发布时间: 2011-11-16

我发现,如果两张表中有不同 的数据的时候,一楼的方法,好像会漏掉一些数据

作者: qiudong_5210   发布时间: 2011-11-16

SQL code
select
 LoginName,sum(num) 
from
(select LoginName,num from A union all select LoginName,num from B)t
group by
 LoginName

作者: fredrickhu   发布时间: 2011-11-16

数据要分开到好几张表中,结构一样,所要查询的表的个数,是传进来的,知道初始表名,怎么查询数据啊
比如表名是 TEST1, TEST2,TEST3,TEST4,TEST5
传入表的个数可能是2个,也可能是三个,
初始表名的数字为1 或者3,这要怎么做啊?求解

作者: qiudong_5210   发布时间: 2011-11-17