sql – 使用多个JOINS. SUM()产生错误的值
发布时间:2021-04-01 04:46:55 所属栏目:MsSql教程 来源:网络整理
导读:我在SQL查询中获取一些基本发票信息,并在同一查询中计算订单总额和付款总额.这是我到目前为止: SELECT orders.billerID,orders.invoiceDate,orders.txnID,orders.bName,orders.bStreet1,orders.bStreet2,orders.bCity,orders.bState,orders.bZip,orders.bCou
我在SQL查询中获取一些基本发票信息,并在同一查询中计算订单总额和付款总额.这是我到目前为止: SELECT orders.billerID,orders.invoiceDate,orders.txnID,orders.bName,orders.bStreet1,orders.bStreet2,orders.bCity,orders.bState,orders.bZip,orders.bCountry,orders.sName,orders.sStreet1,orders.sStreet2,orders.sCity,orders.sState,orders.sZip,orders.sCountry,orders.paymentType,orders.invoiceNotes,orders.pFee,orders.shipping,orders.tax,orders.reasonCode,orders.txnType,orders.customerID,customers.firstName AS firstName,customers.lastName AS lastName,customers.businessName AS businessName,orderStatus.statusName AS orderStatus,SUM((orderItems.itemPrice * orderItems.itemQuantity)) + orders.shipping + orders.tax AS orderTotal,SUM(payments.amount) AS totalPayments <-- this sum FROM orders LEFT JOIN customers ON orders.customerID = customers.id LEFT JOIN orderStatus ON orders.orderStatus = orderStatus.id LEFT JOIN payments ON payments.orderID = orders.id <-- this join LEFT JOIN orderItems ON orderItems.orderID = orders.id 除了totalPayments列之外,一切都来自查询.数据库中有一个付款,其值为(10.00).查询提供的值是20.00(正好是两倍).我的理论是,由于某种原因,查询是两次“汇总”付款金额列.任何人都可以为我阐明这一点吗? 谢谢您的帮助! 解决方法如果您在没有分组依据的情况下运行查询,您会看到某些付款有多行.那是因为你也加入了订单商品.对于orderitem和payment的每个组合,结果集将包含一行.一种解决方案是将总和更改为: ,<earlier columns>,( select SUM(payments.amount) from payments where payments.orderID = orders.id ) AS totalPayments,<later columns> 这将确保多个订单项的付款不会多次汇总. (编辑:海洋资讯信息网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 配合Windows 2003 微软将推出自动计算方案
- 易通繁简网站专家-网站简繁体转换原来如此简单
- SQL Server – 缺少NATURAL JOIN / x JOIN y USING(字段)
- iis-7 – .NET 3.5,IIS 7,SQL Server 2008托管
- sql-server – SQL Compilations对SQL Server性能的影响有多
- 数据库 – 如何在“菱形”关系系统中保持外键关系的一致性
- sql – regex_substr中的connect by子句
- 自己动手修改WinPE的boot.wim的全过程
- sql语句优化规则是什么?sql语句编写需要注意什么问题?
- sql-server – Windows 2008R2上SQL 2008R2的推荐页面文件大