SQL传递表名作为参数

问题描述 投票:0回答:1

此问题的可能解决方案在这里: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'剥离为非字符串。有可能这样做吗?谢谢。

string pandas postgresql
1个回答
0
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.