如何在 sql 的内部连接语句中使用 COALESCE

how to use COALESCE in an inner join statement in sql

我打算在我的问题中使用 COALESCE。我想要的只是在单个列中用逗号分隔值。 这是我的声明:

select p.[name], cd.CustomerName, cd.CustomerEmailID
   ,cd.CustomerPhoneNo,cd.CustomerAddress
   ,cd.TotalPrice,cd.OrderDateTime, cd.PaymentMethod 
FROM CustomerDetails cd 
Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id 
Inner Join Products p ON cp.ProductID = p.ProductID

它会给我这个

现在我希望产品列的结果为

carbon dioxied,industrial oxygen

因为他们是同一个ID。

请帮帮我。非常感谢

更新:fiddle

更新:当前语句但仍然给我相同的结果。

use ShoppingCartDB
select 
      STUFF((SELECT ',' + p.[name]
             FROM  Products p
             WHERE cp.ProductID = p.ProductID
             FOR XML PATH(''),TYPE).value('.','nvarchar(max)'),1,1,'') AS Name
     , cd.CustomerName, cd.CustomerEmailID
     ,cd.CustomerPhoneNo,cd.CustomerAddress
     ,cd.TotalPrice,cd.OrderDateTime, cd.PaymentMethod 
FROM CustomerDetails cd 
Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id 
SELECT DISTINCT
      STUFF((SELECT ',' + p.[name]
             FROM  Products p
             WHERE cp.ProductID = p.ProductID
             FOR XML PATH(''),TYPE).value('.','nvarchar(max)'),1,1,'') AS Name
     , cd.CustomerName, cd.CustomerEmailID
     ,cd.CustomerPhoneNo,cd.CustomerAddress
     ,cd.TotalPrice,cd.OrderDateTime, cd.PaymentMethod 
FROM CustomerDetails cd 
Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id