mysql - SQL 查询连接和分组表

标签 mysql sql-server-2008

选择table1.id,(table1.total_item-table2.requested)作为items_left 由表1、表2 其中 table2.year = 2015 按table1.id分组

我正在使用 SQL Server 2008.. 我的代码有什么问题吗?不能以 id 号进行分组,

我想对表1中的所有单独的table1.items求和,并对表2中的所有单独的table2.requested求和 减去剩余的项目,我将其命名为 items_left,并按 table1.id 对其进行分组

类似这样的事情...

0.  id   items_left  year
1.   1    3        2015
2.   5    10       2015
3.   3    4        2015

这是上面代码的输出... id 重复,我无法将其分组到

0.  id  items_left
1.   1    1
2.   1    1
3.   1    2
4.   5    5
5.   3    2
6.   5    5
7.   3    2

我想要这样的输出..请先生/女士帮助我..

类似这样的事情...

0. id items_left  year
1.   1    3       2015
2.   5    10      2015
3.   3    4       2015

最佳答案

第二个字段缺少“sum()”;还缺少加入条件:

SELECT tab1.id, sum(tab1.total_item - ifnull(tab2.requested,0)) AS items_left
FROM tab1
LEFT JOIN tab2 ON tab1.id = tab2.??
WHERE tab2.year = 2015
GROUP BY tab1.id

关于mysql - SQL 查询连接和分组表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620408/

相关文章:

SQL:按连续日期计算记录数,即使某个日期没有记录

asp.net - SqlCacheDependency 不工作

sql - 获取在特定日期创建和/或修改的存储过程的列表?

MySQL慢查询日志bug?记录快速查询

php - 使用 php 和 codeigniter 将数据插入到两个表中

sql - 选择一个月的第一天和当前日期之间的所有日期

SQL Server循环并插入sql

mysql - 多个更新或更新...在哪里

php - 并发多用户访问php+mysql

mysql远程连接问题