enter image description here我试图合并2行上的sql表1行,并获得1行2的值填充列在第1行如图所示,我应该用什么方法来得到这样的表?谢谢实际上这个表使用连接2表在sql上,我应该做的像在图像中显示,如图所示,
oxf4rvwz1#
要实现如图所示的结果,并在连接列值时将两行合并为一行,可以在SQL中使用GROUP_CONCAT函数沿着GROUP BY。假设你有一个像这样的两行表:原始表格:| 姓名、名称|数值| Value || --|--| ------------ || 约翰|Val1| Val1 || 约翰|Val2| Val2 |您可以使用以下SQL查询来合并基于ID和Name列的行,同时连接“Value”列:
SELECT ID, Name, GROUP_CONCAT(Value SEPARATOR ', ') AS Merged_Values FROM your_table_name GROUP BY ID, Name;
字符串结果将是:合并表:| 姓名、名称|合并值(_V)| Merged_Values || --|--| ------------ || 约翰|Val1、Val2| Val1, Val2 |说明:
1条答案
按热度按时间oxf4rvwz1#
要实现如图所示的结果,并在连接列值时将两行合并为一行,可以在SQL中使用GROUP_CONCAT函数沿着GROUP BY。假设你有一个像这样的两行表:
原始表格:
| 姓名、名称|数值| Value |
| --|--| ------------ |
| 约翰|Val1| Val1 |
| 约翰|Val2| Val2 |
您可以使用以下SQL查询来合并基于ID和Name列的行,同时连接“Value”列:
字符串
结果将是:
合并表:
| 姓名、名称|合并值(_V)| Merged_Values |
| --|--| ------------ |
| 约翰|Val1、Val2| Val1, Val2 |
说明:
请记住,根据您使用的数据库系统(例如MySQL,PostgreSQL,SQL Server)的不同,语法可能会略有不同。确保在SQL查询中将“your_table_name”替换为表的实际名称。
另外,请注意,GROUP_CONCAT函数可能对串联字符串的最大长度有限制,具体取决于数据库设置。如果要连接大量的值,则可能需要相应地处理此限制。