Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 - Fatal编程技术网

Mysql 对来自不同表的同一查询中的两列求和

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` 这给了我错误的总数,但当我单独做总数时,它们工作得很好。我做错了什么 编辑:好的,我

我有一个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`, `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`