标题:如何将mysql查询结果的列名修改为另一表中的对应值?
只看楼主
lxhpq
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-9-22
结帖率:0
已结贴  问题点数:20 回复次数:3 
如何将mysql查询结果的列名修改为另一表中的对应值?
我有一个表T1,字段为A-1,A-2 A-3,类似这样的;

另外有一个表T2,两个字段 英文字段名,中文字段名;支是A-1 姓名;A-2 地址;A-3电话,类似这样的,


我希望按一定条件查询T1表格之后,查询结果的列名修改为T2中的中文名,
得到输出结果类似


因为列数很多,一个一个as太慢,而且查询的时候选的列有时候也不一样,大佬们有简单的办法么?求助
搜索更多相关主题的帖子: 结果 查询 列名 修改 mysql 
2019-09-22 18:13
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:20 
1 Select * from T2 ,并形成一个cursor
2 遍历这个cursor ,遍历时,形成一个 " a-1 as 姓名 , a-2 as 地址 , ... "的字符串,
3 执行这个字符串,查询结果中的列名称自然是新的名称.
4 至于每次查询取的列不一样, 理解了上述思路之后,
  在第1 步 Select * from T2 ... 这句话的Where 子句中下功夫.就能满足需求.
2019-09-25 18:41
lsy2886173
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-4-22
得分:0 
如果是项目需要,我建议你不要在数据库上实现,在后端业务层面处理,先取出字段名,动态拼接成sql语句进行查询
不然你使用脚本语言,动态生成SQL语句
当然如果要在数据库上执行,你可以尝试下存储过程

[此贴子已经被作者于2020-4-22 10:22编辑过]

2020-04-22 10:21
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:12
帖 子:233
专家分:577
注 册:2014-3-18
得分:0 
回复 楼主 lxhpq
在用户程序中实现比在SQL查询中实现简单快捷
2020-05-08 15:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496942-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.321931 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved