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

Mysql 如何在sql中的内部联接语句中使用COALESCE,mysql,sql-server,inner-join,coalesce,Mysql,Sql Server,Inner Join,Coalesce,我打算在我的问题中使用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 O

我打算在我的问题中使用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
它会给我这个

现在我希望product列的结果是

carbon dioxied,industrial oxygen
因为它们在同一个ID中

请让我帮帮我。多谢各位

更新:小提琴

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

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 

请检查一下这个;你的意思是
组\u CONCAT
?嗨,康卡特不被认出来,我不知道为什么请检查这个;你的意思是
组\u CONCAT
?嗨,康卡特没被认出来,我不知道为什么,先生,谢谢。没有错误,但它给了我相同的结果,先生。相同id的2个产品仍有2个表我认为查询需要GroupBy CustomerID。您可以设置SQL FIDLE吗?在没有数据访问权限的情况下,很难判断出哪里出了问题;检查与您的MySQL服务器版本对应的手册,了解使用第2行“[name]FROM Products p WHERE cp.ProductID=p.Product”附近的正确语法@reinevray google SQL Fiddle,转到该网站,使用一些虚拟数据创建表架构,单击“构建架构”按钮,然后复制并粘贴URL。您好,先生,谢谢。没有错误,但它给了我相同的结果,先生。相同id的2个产品仍有2个表我认为查询需要GroupBy CustomerID。您可以设置SQL FIDLE吗?在没有数据访问权限的情况下,很难判断出哪里出了问题;检查与您的MySQL服务器版本对应的手册,了解使用第2行“[name]FROM Products p WHERE cp.ProductID=p.Product”附近的正确语法@reinevray google SQL Fiddle,转到该网站,使用一些虚拟数据创建表架构,单击BuildSchema按钮,然后在此处复制粘贴URL。
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