传递SQL查询表名作为参数

此问题的可能解决方案在这里: https://stackoverflow.com/a/6223961/12343395 它可能需要很多工作。 但是我已将表名存储为字符串格式,并希望根据需要调用它们。 我正在使用熊猫read_sql_query。因此,就像在params中一样,我在WHERE部分中传递了表名和一些参数。 WHERE部分很好,因为参数最初是字符串。但是在FROM部分, 我真的希望schema.table为非字符串。 这是一个片段。

SELECT "rainfall(mm)","tmin(C)","tmax(C)","TimeStamp"
FROM crop_tables[choose_crop][0]
WHERE "District_Name" = %s AND "Season" = %s
ORDER BY "TimeStamp" ASC

在这种情况下,crop_tables[choose_crop][0]'sagita_historic.soyabean_daily_analyses'。 但是FROM将因为它不接受字符串而抛出错误。因此,从本质上讲,我希望将'sagita_historic.soyabean_daily_analyses'剥离为非字符串。 有可能这样做吗? 谢谢。

xyzz108 回答:传递SQL查询表名作为参数

不确定我是否完全理解,但是也许可以吗?

SELECT "rainfall(mm)","tmin(C)","tmax(C)","TimeStamp"
FROM f"{crop_tables[choose_crop][0]}"
WHERE "District_Name" = %s AND "Season" = %s
ORDER BY "TimeStamp" ASC
本文链接:https://www.f2er.com/3137557.html

大家都在问