Mysql 对来自不同表的同一查询中的两列求和
我有一个2015年和2016年的表,它们有相同的列。我试图显示一列中不同年份的总数Mysql 对来自不同表的同一查询中的两列求和,mysql,Mysql,我有一个2015年和2016年的表,它们有相同的列。我试图显示一列中不同年份的总数 SELECT t16.`Dep Name`, sum(t16.`number_courses`) AS `Total 16`, sum(t15.`number_courses`) AS `Total 15` FROM `table_16` t16, `table_15` t15 GROUP BY t16.`Dep Name` 这给了我错误的总数,但当我单独做总数时,它们工作得很好。我做错了什么 编辑:好的,我
SELECT t16.`Dep Name`, sum(t16.`number_courses`) AS `Total 16`, sum(t15.`number_courses`)
AS `Total 15` FROM `table_16` t16, `table_15` t15
GROUP BY t16.`Dep Name`
这给了我错误的总数,但当我单独做总数时,它们工作得很好。我做错了什么
编辑:好的,我的主要目标是创建一个视图,但显然根据子查询,视图不支持子查询。有没有其他方法可以实现相同的结果并创建视图?您实际上是在执行一个
交叉联接,它生成两个表的行的笛卡尔积
您可以先聚合,然后加入:
实际上,您正在执行一个交叉联接
,它生成两个表的行的笛卡尔乘积
您可以先聚合,然后加入:
请给我们看看样品数据。每个表的列是什么,并向我们显示表中的一些行以及预期的输出。请向我们显示示例数据。每个表的列是什么,并向我们显示表中的一些行以及预期的输出。好的,我的主要目标是创建一个视图,但显然根据子查询,视图不支持子查询。有没有其他方法可以实现相同的结果并创建视图?好的,我的主要目标是创建一个视图,但显然根据子查询,视图不支持子查询。是否有其他方法可以实现相同的结果并创建视图?
SELECT t16.`Dep Name`, `Total 16`, `Total 15`
FROM (
SELECT `Dep Name`,
sum(`number_courses`) AS `Total 16`
FROM `table_16`
GROUP BY `Dep Name`) t16
JOIN (
SELECT `Dep Name`,
sum(`number_courses`) AS `Total 15`
FROM `table_15`
GROUP BY `Dep Name`
) t15 ON t16.`Dep Name` = t15.`Dep Name`