【问题标题】:SQL query joining and grouping tableSQL 查询连接和分组表
【发布时间】:2017-11-21 01:41:29
【问题描述】:

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

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

我想将 table1 中的所有单个 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

【问题讨论】:

    标签: mysql sql-server-2008


    【解决方案1】:

    您缺少第二个字段的“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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 2022-01-13
      • 2012-09-28
      • 2023-03-29
      • 2019-07-31
      相关资源
      最近更新 更多