使用SQL语句将相同名的多行字段内容拼接起来
创始人
2025-05-28 07:17:59

以下内容来自CHATGPT,其中PGADMIN经实验,有效
1、在MYSQL中使用:
可以使用GROUP_CONCAT函数来实现相同名称的多行字段内容拼接。具体语法如下:

SELECT column_name, GROUP_CONCAT(another_column SEPARATOR ',') as concat_column
FROM table_name
GROUP BY column_name;

其中,column_name是相同名称的字段,another_column是需要拼接的字段,SEPARATOR是拼接多个字段内容之间的分隔符。GROUP BY用于将所有相同column_name的行分组在一起。最终结果将会得到每个相同column_name的值以及对应的拼接内容。

2、在PGADMIN中使用:
可以使用STRING_AGG函数来实现相同名称的多行字段内容拼接。具体语法如下:

SELECT column_name, STRING_AGG(another_column, ',') as concat_column
FROM table_name
GROUP BY column_name;

其中,column_name是相同名称的字段,another_column是需要拼接的字段,','是拼接多个字段内容之间的分隔符。GROUP BY用于将所有相同column_name的行分组在一起。最终结果将会得到每个相同column_name的值以及对应的拼接内容。需要注意的是,STRING_AGG函数是PostgreSQL特有的,不支持在其他数据库中使用。

运行结果
在这里插入图片描述

3、在VBA中使用
在Access中,可以使用自定义函数来实现相同名称的多行字段内容拼接。具体步骤如下:

  1. 创建一个新的模块,名为“Module1”(可以自定义名称)。
  2. 在模块中添加以下VBA代码:
Public Function ConcatenateField(fieldName As String, tableName As String, Optional separator As String = ", ") As StringDim rs As RecordsetDim result As StringSet rs = CurrentDb.OpenRecordset("SELECT " & fieldName & " FROM " & tableName & ";")While Not rs.EOFresult = result & rs.Fields(fieldName) & separatorrs.MoveNextWendrs.CloseIf Len(result) > 0 ThenConcatenateField = Left(result, Len(result) - Len(separator))ElseConcatenateField = ""End If
End Function
  1. 在SQL查询中调用自定义函数,具体语法如下:
SELECT columnName, ConcatenateField("anotherColumn", "tableName") as concat_column
FROM table_name
GROUP BY columnName;

其中,columnName是相同名称的字段,anotherColumn是需要拼接的字段,tableName是需要拼接的表名,separator是拼接多个字段内容之间的分隔符。GROUP BY用于将所有相同columnName的行分组在一起。最终结果将会得到每个相同columnName的值以及对应的拼接内容。需要注意的是,自定义函数中的SQL语句需要使用Access的SQL语法。

相关内容

热门资讯

深圳市元宇宙科技申请基于AI模... 国家知识产权局信息显示,深圳市元宇宙科技有限公司申请一项名为“一种基于AI模型的代码批量处理方法、装...
春节不要乱发AI视频,一大批账... 连日来 视频大模型Seedance2.0 在国内外社交平台上 掀起一阵刷屏式传播 各种脑洞大开的画面...
阿里开源新一代基模千问3.5 每经杭州2月16日电(记者叶晓丹)除夕当天,阿里巴巴开源全新一代大模型千问Qwen3.5-Plus,...
乐陵市周边亲子游景点推荐 在忙碌的生活中,与家人一同出游,享受亲子时光成为许多家长的选择。对于乐陵市的居民来说,周边不乏适合亲...
一盅暖汤,半生粤味:那些不可错... 在广东,无汤不成席,煲汤早已不是简单的烹饪,而是刻在骨子里的生活仪式感。广式煲汤讲究慢火精炖、清润滋...