我很难理解在这种情况下应该做些什么:
运行时,查询会显示项目编号,订单数量,订单日期以及记录订单的销售人员。
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中没有其他内容具有聚合函数,并且它们不应该有一个。
如果剩余的列没有聚合函数,我该如何对项目编号进行分组?
答案 0 :(得分:2)
我不确定我是否理解正确,但我认为这可能是你所追求的。您可以按聚合以外的所有列进行分组。
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
答案 1 :(得分:1)
您可以尝试这样的事情:
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
希望它适合你。