【问题标题】:Using COALESCE directly within a SELECT to return comma separated values from another table [duplicate]直接在 SELECT 中使用 COALESCE 从另一个表返回逗号分隔值
【发布时间】:2015-06-17 22:40:25
【问题描述】:

我正在尝试检索产品的逗号分隔产品类别列表。

这是我想要做的事情的一个想法:

SELECT *, (
  SELECT CategoryName 
  FROM ProductCategories pc 
  WHERE p.ProductId=pc.ProductId) as ProductCategories
FROM Products p

我需要将产品类别放在逗号分隔的列表中。有没有办法使用 COALESCE 来做到这一点?

【问题讨论】:

  • 不,不使用coalesce()。但是,如果你用谷歌搜索“SQL Server 字符串聚合”之类的东西,你会发现这个问题以前也有人问过。

标签: sql sql-server sql-server-2008


【解决方案1】:

不,您不能使用 COALESCE 来执行此操作。 COALESCE 只返回您传递给它的第一个非 null 参数。

你想要How to create a SQL Server function to "join" multiple rows from a subquery into a single delimited field?

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 2020-12-06
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    相关资源
    最近更新 更多