/*
两个表结构一样,
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*/

解决方案 »

  1.   

    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
      

  2.   

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

    GROUP BY ID,LOGINNAME,GRADE
      

  3.   

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

  4.   

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

  5.   

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