You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server查询所有客户及对应订单总余额(含无订单新客户)

实现方案

你当前使用的默认JOIN是内连接,仅会返回两张表中匹配到关联关系的记录,所以无订单的新客户会被过滤。修改只需要调整两处即可:

  • 将内连接替换为LEFT JOIN(左外连接),保留Customer表的全部客户记录
  • 用ISNULL函数对求和结果做判空处理,将无订单客户的空值求和结果转换为0,再执行格式化

修改后的查询语句如下:

select 
    Customer.CustomerID, 
    Customer.CustomerName, 
    Customer.CustomerAdress, 
    format(isnull(sum(Orders.Debit-Orders.Credit), 0),'c', 'tr-TR') as Balance 
from 
    Customer 
left join 
    Orders on Customer.CustomerID = Orders.CustomerID 
           and Customer.CustomerName = Orders.CustomerName 
group by 
    Customer.CustomerID, 
    Customer.CustomerName,   
    Customer.CustomerAdress

补充说明:如果CustomerID是Customer表的唯一主键,仅用Customer.CustomerID = Orders.CustomerID作为关联条件即可,无需额外关联CustomerName字段。

内容的提问来源于stack exchange,提问作者Aksel482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 22:03:03