内部联接后记录消失了

时间:2014-12-05 06:30:54

标签: mysql sql sql-server join sum

使用内连接后出现问题,这是我的查询。

select sum(total)  as total,id
from
(
select * from midsemester union
select * from endsemester
) as vij
group by id

这是表格:

表名:midsemester

ID  Grade
----------
1    10
2    30
3    40

表名:endsemester


ID   Grade
----------
1    30
2    40
3    20

我需要将这些表总结为名为total的新表。这是我希望的结果。

表名:总计

ID   Grade
----------
1     40
2     70
3     60

我实际上只需要使用第3个表的id来总结成绩的值。并尝试使用内连接几次,它正在工作。但是当我再次检查第三张桌子时,记录是空的。非常感谢任何帮助,谢谢! :)

3 个答案:

答案 0 :(得分:1)

试试这个:

INSERT INTO total (Id, Grade)
SELECT id, SUM(grade) AS total
FROM (SELECT id, grade FROM midsemester 
      UNION ALL 
      SELECT id, grade FROM endsemester
     ) AS vij
GROUP BY id

答案 1 :(得分:1)

尝试以下代码:

select a.id,(a.grade+b.grade) as sum 
into total
from midsemester a 
left join endsemester b 
    on a.id = b.id

答案 2 :(得分:1)

试试这个

insert into total(ID,Grade) select midsemester.ID,(midsemester.grade+endsemester.grade)as total from midsemester
inner join endsemester
on midsemester.ID=endsemster.ID

如果您想要根据ID递增顺序的数据

,请按ID使用订单