codeigniter 用于合并2行SQL表和单独列值的组Concat

zte4gxcn  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(98)

enter image description here我试图合并2行上的sql表1行,并获得1行2的值填充列在第1行如图所示,我应该用什么方法来得到这样的表?谢谢
实际上这个表使用连接2表在sql上,我应该做的像在图像中显示,
如图所示,

oxf4rvwz

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. GROUP_CONCAT函数用于用分隔符(在本例中,是逗号和空格',')连接“Value”列值。
  2. GROUP BY子句将具有相同ID和Name的行分组在一起,聚合函数(GROUP_CONCAT)分别对每个组起作用。
    请记住,根据您使用的数据库系统(例如MySQL,PostgreSQL,SQL Server)的不同,语法可能会略有不同。确保在SQL查询中将“your_table_name”替换为表的实际名称。
    另外,请注意,GROUP_CONCAT函数可能对串联字符串的最大长度有限制,具体取决于数据库设置。如果要连接大量的值,则可能需要相应地处理此限制。

相关问题