gpt4 book ai didi

mysql 使用从数据库读取的列别名

转载 作者:行者123 更新时间:2023-11-29 10:11:12 25 4
gpt4 key购买 nike

我想在另一个表中显示列的名称,如下所示:

select data.data1 as head.colHeader1, data.data2 as head.colHeader2 from DATA_TABLE data, HEADER_TABLE head where data.Key = header.Key and header.key = 'someUniqueKey'

上面的查询不正确 - 是否可以使用另一个表中的“动态”列名称?如果是这样,正确的语法是什么?

最佳答案

答案很简单:在 SQL 中这是不可能的。列别名是常量。您必须动态创建查询才能实现您想要的:

SET @column_alias1 := SELECT colHeader1 FROM HEADER_TABLE header WHERE header.key = 'someUniqueKey';
SET @column_alias2 := SELECT colHeader2 FROM HEADER_TABLE header WHERE header.key = 'someUniqueKey';
SET @query := CONCAT('select data.data1 as `', @column_alias1, '`, data.data2 AS `', @column_alias2, '` FROM DATA_TABLE data where data.Key = header.Key ');
PREPARE dynamic_statement FROM @query;
EXECUTE dynamic_statement;

关于mysql 使用从数据库读取的列别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com