Sql 分组困难

Sql 分组困难,sql,tsql,reporting-services,ssms,Sql,Tsql,Reporting Services,Ssms,在这种情况下,我很难理解我应该做什么: 运行时,查询将显示项目编号、订单数量、订单日期以及记录订单的销售人员 SELECT t1.item_num, t2.qty_ordered, t2.order_date, t3.slsperson FROM t1 JOIN t2 ON t1.item = t2.item JOIN t3 ON t2.order_num = t3.order_num 但是,返回的相同项目编号有多个,每个

在这种情况下,我很难理解我应该做什么:

运行时,查询将显示项目编号、订单数量、订单日期以及记录订单的销售人员

SELECT t1.item_num,
       t2.qty_ordered,
       t2.order_date,
       t3.slsperson

FROM   t1
JOIN   t2
  ON   t1.item = t2.item
JOIN   t3
  ON   t2.order_num = t3.order_num
但是,返回的相同项目编号有多个,每个项目的订购数量不同。我想将类似的项目编号分组,以获得该项目的订购总数量

我不能真正地按item_num分组,因为SELECT中没有任何其他函数具有聚合函数,而且它们不应该具有聚合函数


如果其余的列没有聚合函数,我如何对项目编号进行分组?

我不确定我是否理解正确,但我想这可能是您想要的。可以按除聚合之外的所有列进行分组

SELECT t1.item_num,
       sum(t2.qty_ordered),
       t2.order_date,
       t3.slsperson
FROM   
  t1
  JOIN   t2
    ON   t1.item = t2.item
  JOIN   t3
    ON   t2.order_num = t3.order_num
GROUP BY t1.item_num, t2.order_date, t3.slsperson

我不确定我是否理解正确,但我想这可能是你想要的。可以按除聚合之外的所有列进行分组

SELECT t1.item_num,
       sum(t2.qty_ordered),
       t2.order_date,
       t3.slsperson
FROM   
  t1
  JOIN   t2
    ON   t1.item = t2.item
  JOIN   t3
    ON   t2.order_num = t3.order_num
GROUP BY t1.item_num, t2.order_date, t3.slsperson

您可以尝试以下方法:

SELECT * FROM (SELECT t1.item_num,
   t2.qty_ordered,
   t2.order_date,
   t3.slsperson FROM t1 JOIN   t2 ON   t1.item = t2.item JOIN t3 ON t2.order_num = t3.order_num ) AS table GROUP BY table.item_num

希望它对您有用。

您可以尝试以下方法:

SELECT * FROM (SELECT t1.item_num,
   t2.qty_ordered,
   t2.order_date,
   t3.slsperson FROM t1 JOIN   t2 ON   t1.item = t2.item JOIN t3 ON t2.order_num = t3.order_num ) AS table GROUP BY table.item_num

希望它对您有用。

谢谢您的帮助。我刚刚经历了一个巨大的“无聊”时刻。你的建议奏效了,非常欢迎。我记得我也不知道该怎么做。当你最终发现的时候,一切都是那么简单@安东尼·西姆斯,如果你觉得这个问题有帮助,请把它标记为正确答案。谢谢你的帮助。我刚刚经历了一个巨大的“无聊”时刻。你的建议奏效了,非常欢迎。我记得我也不知道该怎么做。当你最终发现的时候,一切都是那么简单@安东尼·西姆斯,如果你觉得这个问题有帮助,请把它标记为正确答案。