mysql别名来自变量

时间:2017-10-20 13:31:36

标签: mysql alias literals

我有两张桌子:

表1:

ID  Measurement_Name
 1     Temperature
 2     Humidity

表2:

DateTime              *   ID  *    Value 
2017-10-20 15:52:00   *   1   *    22,3 
2017-10-20 15:51:00   *   1   *    22,1
2017-10-20 15:50:00   *   2   *    45 
2017-10-20 14:52:00   *   1   *    22,3

现在我用

选择表2中的值
select DateTime , Value as 'temperature' 
from Table 2 
where ID = 1;

结果:

DateTime                   *              temperature
2017-10-20 15:52:00        *              22,3 
2017-10-20 15:51:00        *              22,1 
2017-10-20 14:52:00        *              22,3 

工作正常。但我想在文字温度的地方找到温度'文字"温度"从表1。 我想要像

这样的东西
set @col_name := select Measurement_name from Table1 where ID = 1;`

我通过以下方式实现了这一目标:

set @statement := CONCAT("select DateTime , Value as '",@col_name,"' from Table2 where ID = 1");
Prepare statement from @statement;
execute statement;`

但我更愿意:

select DateTime , Value as @col_name 
from Table2 
where ID = 1;

但这会产生错误(服务器只告诉我,查询附近有错误。

1 个答案:

答案 0 :(得分:0)

加入怎么样?

SELECT t1.*, t2,*, CONCAT(t1.Measurement_Name,t2.value)
FROM Table1 t1
JOIN Table2 t2
  ON t1.ID = t2.ID
WHERE t1.ID = 1