如何连续选择和连接每个字段?
我想做类似的事情:
SELECT concat(SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name')
as single FROM tbl_name
..但显然以上不起作用。有什么建议么?
如何连续选择和连接每个字段?
我想做类似的事情:
SELECT concat(SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name')
as single FROM tbl_name
..但显然以上不起作用。有什么建议么?
您将动态构建查询,即concat(...)
显式列出所有列。您可以在客户端通过运行两个查询或使用准备好的语句在存储过程中执行此操作。
您可以通过 3 个步骤完成:
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
如果您创建存储过程,则可以结合上述步骤