我想在查询的FROM部分使用用户定义的变量,如下例所示:
SET @year = 2013,
@ID3_1 = 107001001,
@TableSource = "S_EXPO_RISQUES_METEO";
SELECT @ID3_1,
@year,
TS.ID_TER,
TS.VALUE
FROM @TableSource TS;
如何使用其他语句生成等效结果?
答案 0 :(得分:0)
尝试此操作以获得不使用变量的等效项。
SELECT 107001001 ID3_1,
2013 year,
TS.ID_TER,
TS.VALUE
FROM S_EXPO_RISQUES_METEO TS;
或者使用变量:
SET @year = 2013,
@ID3_1 = 107001001;
SELECT @ID3_1,
@year,
TS.ID_TER,
TS.VALUE
FROM S_EXPO_RISQUES_METEO TS;
答案 1 :(得分:0)
你不能那样做。在查询中命名列或表时不允许使用变量。解决方法?使用您的编程语言(php?Java?)来创建您的查询字符串。
或者,使用MySQL服务器端预处理语句,不要与php或Java预处理语句混淆。读这个。 https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html