Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 记录在内部连接后消失_Mysql_Sql_Sql Server_Join_Sum - Fatal编程技术网

Mysql 记录在内部连接后消失

Mysql 记录在内部连接后消失,mysql,sql,sql-server,join,sum,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 这是表格: 表名:中东部 表名:期末 我需要把这些表和一个叫做total的新表相加。这就是我所希望的结果 表名:总计 实际上,我只需要使用第三个表的id对等级的值求和。并尝试了几次使用内部连接,它的工作。但是当我再次检查第三个

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

select sum(total)  as total,id
from
(
select * from midsemester union
select * from endsemester
) as vij
group by id
这是表格:

表名:中东部

表名:期末

我需要把这些表和一个叫做total的新表相加。这就是我所希望的结果

表名:总计

实际上,我只需要使用第三个表的id对等级的值求和。并尝试了几次使用内部连接,它的工作。但是当我再次检查第三个表时,记录是空的。非常感谢您的帮助,谢谢

试试这个:

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
请尝试以下代码:

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

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排序”

您需要合并所有数据。检查:我在发布这个问题之前看到了它,并尝试使用union all,但它仍然是一样的。无论如何,谢谢你,伙计:我建议不要有两张不同的桌子来存放同一件东西。你应该把期中和期末合并到一个与年级相关的表格中,并引入一个列,指出该学期的哪个部分的成绩。你的是对整个领域的总结,我的朋友,我需要的是一个接一个地总结。但无论如何,谢谢你的帮助:我需要对每一张唱片进行总结,而不是全部。请看我帖子的第三张表格。这就是我想要的结果。无意冒犯,但是当我使用你的查询时,结果是这样的:ID=12,分数=60Oh,我的错。我真的很抱歉误会了,所以我需要加入期中和期末成绩,并把它放在总成绩表上。当我使用其他查询时,它似乎没有插入到第三个表中。我如何将其放入第三个表中?它没有插入到记录bro.create选项卡total id integer,Grade integer;插入到总成绩中,选择a.id,a.grade+b.grade作为中学期a的和左学期b的和,a.id=b.id@好的,很高兴我能帮助你
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
select a.id,(a.grade+b.grade) as sum 
into total
from midsemester a 
left join endsemester b 
    on a.id = b.id
insert into total(ID,Grade) select midsemester.ID,(midsemester.grade+endsemester.grade)as total from midsemester
inner join endsemester
on midsemester.ID=endsemster.ID