MySQL-mysql中如何在select语句中把一个字符串转化成表的字段?

MySQL-mysql中如何在select语句中把一个字符串转化成表的字段?

灵芸 发布于 2016-11-16 字数 370 浏览 1144 回复 1

select 的字段是从另一张表查询出来的,通过mysql的一些函数组合成了一个字符串,我想把这个字符串转成mysql可以使用的字段,如何实现?如下:

select (select GROUP_CONCAT(`column_name`) from information_schema.columns where TABLE_NAME = 'user' and column_name not in ('id','name') group by table_name) as `fields` from test.user

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-03-13 1 楼

先拼接sql语句,然后再执行
sql语句跟你的稍微有些不同,但是不影响说明
SET @sql =
CONCAT('SELECT ',
(
SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='user' AND TABLE_SCHEMA = 'bbs'
),
' FROM user');
PREPARE stmt FROM @sql;
use bbs;
EXECUTE stmt;