首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据从python列表获得的表名为pymysql创建联合查询字符串?

如何根据从python列表获得的表名为pymysql创建联合查询字符串?
EN

Stack Overflow用户
提问于 2018-07-26 02:05:21
回答 1查看 0关注 0票数 0

我需要查询表来检查其中一个列中是否存在一个特定的值,并获取相应的行。此值可以存在于为数据库创建的任何表中。要查询的表名是从python列表中获得的。据我所知,我们可以使用‘UNION’和‘SELECT’查询来获取行,但是对于这个表,必须事先知道名称,这样才能构造查询。当列表的大小可能不同时,如何在运行时构造下面提到的查询?例子:

代码语言:txt
复制
`table_name_list = ['table_name1', 'table_name2','table_name3',....]
 query = SELECT col1, col2 FROM table_name_list[0] WHERE col3 ='007'
         Union
         SELECT col1, col2 FROM table_name_list[1] WHERE col3 ='007'
         Union
         SELECT col1, col2 FROM table_name_list[2] WHERE col3 ='007'
         ` 
EN

回答 1

Stack Overflow用户

发布于 2018-07-26 11:18:15

可以对字符串使用pythonJoin。我们可以循环表名和构造基本的查询字符串,最后使用联接。

for name in table_name_list: query_string = "SELECT col1, col2 FROM {} WHERE col3 ='007'".format(name) final_query += query_string+' union ' final_query = final_query[0:len(query)-7] # to drop the extra 'union '

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档