0

我正在尝试通过在另一个表中查找值来创建列别名。这是我正在尝试但不断收到语法错误的 MySQL - 任何帮助将不胜感激。

SELECT
product_code,
bField1 as (select [label_value] from [labels] where [field_value]='bField1'),
bField2 as (select [label_value] from [labels] where [field_value]='bField2'),
....
FROM products
4

2 回答 2

2

尝试如下:

SELECT
product_code,
(select [label_value] from [labels] where [field_value]='bField1') as bField1,
(select [label_value] from [labels] where [field_value]='bField2') as bField2,
....
FROM products
于 2013-10-18T10:59:36.123 回答
1

仅使用 MySQL 无法实现您想要的。

类似问题见下文:

基于列值的动态列别名

使用用户定义的变量指定列别名

我不确定您究竟为什么要这样做,但始终可以将别名选择逻辑与动态创建查询的服务器端语言结合起来。但是,当然,这将是一个两步过程,但您实际上并没有输掉,因为在您的示例中,无论如何您都在使用子查询。

于 2013-10-18T11:14:24.650 回答