【发布时间】:2021-09-20 22:11:31
【问题描述】:
基本上,我有两个 SQL Server 表,Customer 和 Orders。我想针对每个客户显示客户信息和客户下的所有订单的价格。
客户表:
订单表:
数据库图:
这是我的选择功能,用于获取客户所有订单的价格。
select
Customer.CustomerID,
Customer.CustomerName,
Customer.CustomerAdress,
format(sum(Orders.Debit-Orders.Credit),'c', 'tr-TR') as Balance
from
Customer
join
Orders on Customer.CustomerID = Orders.CustomerID
and Customer.CustomerName = Orders.CustomerName
group by
Customer.CustomerID,
Customer.CustomerName,
Customer.CustomerAdress
它工作正常。但是,新创建的客户还没有任何订单,并且此选择不会返回新创建的客户。
我想合并并显示没有任何订单的客户并将他们的余额设置为零。
【问题讨论】:
-
在您的查询中将 JOIN 替换为 LEFT JOIN
-
您的图片和 SSMS 标签表明您正在使用 SQL Server。我修复了数据库标签。标记您真正使用的数据库。
标签: sql sql-server select ssms