如何连续选择和连接每个字段?

我想做类似的事情:

SELECT concat(SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name')
as single FROM tbl_name

..但显然上述方法无效。有什么建议吗?

有帮助吗?

解决方案

您将动态构建查询,即明确列出 concat(...)中的所有列。您可以通过运行两个查询或在使用预准备语句的存储过程中在客户端执行此操作。

其他提示

您可以分三步完成:

1-构建字段列表

SELECT group_concat( column_name ) as field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'TABLE_NAME'
GROUP BY table_name
LIMIT 0 , 1

2-复制field_list字段的值

3-提取数据:

SELECT CONCAT( "Paste value copied at previous step" )
FROM TABLE_NAME

如果您创建存储过程,则可以将上述步骤组合起来

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top