请帮忙优化一个查询:关于主从表的一个查询语句,不想group by一堆字段

phommy 2006-01-23 08:58:34
如下,我为了从子表中取一个sum(金额),group by 了一堆字段,请问有没有别的写法~


SELECT a.ID, a.合同日期, a.原合同号, a.供应商, SUM(采购合同sub.金额) AS 金额,
a.所属工程, a.合同类型, a.到货地址, a.制单, a.审核人1, a.审核人2, a.关闭,
a.备注
FROM 采购合同 a INNER JOIN
采购合同sub ON a.ID = 采购合同sub.ID
GROUP BY a.ID, a.合同日期, a.原合同号, a.供应商, a.所属工程, a.合同类型, a.到货地址,
a.制单, a.审核人1, a.审核人2, a.关闭, a.备注
ORDER BY a.ID
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小辉 2006-01-23
  • 打赏
  • 举报
回复
表名写错了

SELECT a.ID, SUM(b.金额) AS 金额 ,c.合同日期, c.原合同号, c.供应商,
c.所属工程, c.合同类型, c.到货地址, c.制单, c.审核人1, c.审核人2, c.关闭,
c.备注
FROM 采购合同 a ,采购合同sub b
LEFT OUTER JOIN 采购合同sub c ON a.ID = c.ID
WHERE a.ID = b.ID
GROUP BY a.ID
小辉 2006-01-23
  • 打赏
  • 举报
回复
SELECT a.ID, SUM(b.金额) AS 金额 ,c.合同日期, c.原合同号, c.供应商,
c.所属工程, c.合同类型, c.到货地址, c.制单, c.审核人1, c.审核人2, c.关闭,
c.备注
FROM 采购合同 a ,采购合同sub b
LEFT OUTER JOIN 采购合同 c on c.id=a.id
WHERE a.ID = b.ID
GROUP BY a.ID
wangdehao 2006-01-23
  • 打赏
  • 举报
回复
---先将从表group by再连接
a.ID, a.合同日期, a.原合同号, a.供应商, b.金额,
a.所属工程, a.合同类型, a.到货地址, a.制单, a.审核人1, a.审核人2, a.关闭,
a.备注
FROM 采购合同 a INNER JOIN
(select Id,金额=sum(金额) from 采购合同sub group by id) b ON a.ID = b.ID
ORDER BY a.ID

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧