首页 > 解决方案 > string_agg 忽略列中的特定值

问题描述

 SELECT string_agg(col, ',') as cols
        FROM (
            SELECT
            json_field_name || ' AS ' || csv_field_name as col
            FROM pricing.sandbox_configurations
            WHERE include is true
            ORDER BY sequence_id
) a

这样做会给我这样的结果

product_cd AS product_cd,product_name AS product_name

但是,如果我想忽略值名称 product_name 并且只想将其余列值作为字符串返回,该怎么办。

我将如何实现这一目标?

标签: sqlpostgresql

解决方案


您可以product_name通过在 where 子句中删除具有此值的 riws 来忽略。

SELECT string_agg(col, ',') as cols
            FROM (
                SELECT
                json_field_name || ' AS ' || csv_field_name as col
                FROM pricing.sandbox_configurations
                WHERE include is true
                and  <>'product_name'
                ORDER BY sequence_id
    ) a

推荐阅读