postgresql根据一个表的字段ids为逗号拼接的id,获取name并且按逗号拼接
时间: 2023-05-17 09:03:28 浏览: 73
可以使用以下SQL语句实现:
SELECT string_agg(name, ',') FROM table_name WHERE id IN (SELECT unnest(string_to_array(ids, ','))::int FROM table_name);
其中,table_name为要查询的表名,ids为逗号拼接的id字段名,name为要获取的name字段名。使用unnest和string_to_array函数将逗号拼接的id转换为数组,再使用IN子句查询对应的name,最后使用string_agg函数按逗号拼接name。
相关问题
postgresql更加逗号拼接的ids,获取name并且按逗号拼接
可以使用以下 SQL 语句实现:
SELECT string_agg(name, ',') FROM table_name WHERE id IN (id1, id2, id3, ...);
其中,table_name 是表名,id 是需要拼接的 id 值,name 是需要获取的字段名。string_agg 函数可以将多个字符串按照指定的分隔符拼接成一个字符串。
在postgresql中,根据名称name,去查询table表中一个由多个名称按逗号拼接成的参数names
可以使用split_part函数将names按逗号分割成数组,然后使用unnest函数将数组展开成多行,再使用where子句进行过滤,最后使用distinct关键字去重。具体的SQL语句如下:
SELECT DISTINCT table.*
FROM table, unnest(string_to_array(names, ',')) AS name
WHERE name = '要查询的名称';