【发布时间】:2017-08-07 07:58:15
【问题描述】:
我想从多个表中选择多个数据,因此我使用连接来获取这些数据,并从这些数据中获得一组代码,并且每个代码组合在一起的总金额。我尝试将SUM() 与MAX() 和GROUP BY 一起使用,但我得到了每个组的错误总和。
当不涉及 sum 和 max 和 group 时,我的数据结果如下所示:
查询是:
SELECT DISTINCT
t17.acctcode,
(pcchrgamt)
FROM
hpatchrg AS t3 INNER JOIN
hcharge AS t17 ON t3.chargcode = t17.chrgcode INNER JOIN
Codes AS t14 ON t17.uacs = t14.accCode
WHERE acctno = '2007-000025486'
结果是:
acctcode pcchrgamt
613 RECORDS 56.00
613 RECORDS 60.00
631 CSR 56.00
631 CSR 60.00
631 CSR 74.00
631 CSR 88.40
643 2.00
643 3.00
643 4.00
643 6.00
643 8.75
643 10.00
643 11.40
643 39.75
643 40.00
643 41.60
643 44.00
643 47.10
643 49.00
643 50.50
643 80.00
643 80.50
643 88.00
643 96.00
643 100.00
643 106.35
643 109.95
643 132.00
643 192.00
643 878.50
643 2465.00
643 4930.00
当我输入SUM 和MAX 和GROUP BY 时,代码如下所示:
SELECT DISTINCT
t17.acctcode AS acctcode,
SUM(pcchrgamt) AS pcchrgamt
FROM
hpatchrg AS t3 INNER JOIN
hcharge AS t17 ON t3.chargcode = t17.chrgcode INNER JOIN
Codes AS t14 ON t17.uacs = t14.accCode
WHERE acctno = '2007-000025486'
GROUP BY acctcode
结果是:
acctcode pcchrgamt
631 CSR 4454.40
613 RECORDS 1856.00
643 20813073.75
分组是正确的,但总和太差了。我希望 sum 只会像 613 RECORDS 是 116.00 一样,但它还有很长的路要走。我也尝试过使用 Sub 查询,但它现在出错了,我仍在努力。
希望有人能指出查询中的问题。
【问题讨论】:
标签: sql-server group-by sum max