我有一个Python列表,其中有多个列表,其中有表和这些表中的变量。 示例:
list = [ [ table1, var1 ], [ table2,var2,var3,var4 ], [ table3,var5,var6 ] ] .
能否用 python
编写单个 SQL
查询来从所有给定表中提取数据。
在SQL
中,我们将编写类似这样的内容
SELECT table1.var1, table2.var2, table2.var3 FROM table1, table2.
但是在python
中我面临着困难,因为我们一次只能访问一个元素,例如:list[0][1],list[1][0]等
最佳答案
您可以动态访问列表元素。假设您的列表存储字符串并且您想要输出字符串:
for tablelist in list:
for var in tablelist[1:]:
print(tl[0] + '.' + var)
或者使用列表理解:
[tablelist[0] + '.' + var for tablelist in list for var in tablelist[1:]]
要创建包含问题中的 SQL 语句的字符串:
var_accesses = [tablelist[0] + '.' + var for tablelist in list for var in tablelist[1:]]
var_accesses_string = ', '.join(var_accesses)
tables = [tablelist[0] for tablelist in list]
tables_string = ', '.join(tables)
sql_query = 'SELECT {} FROM {}'.format(var_accesses_string, tables_string)
关于python - 使用python从数据库的多个表中提取多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37248772/