我有一个python列表,里面有多个列表,里面有表和变量。 示例:
list = [ [ table1, var1 ], [ table2,var2,var3,var4 ], [ table3,var5,var6 ] ] .
可以在SQL
中编写单个python
查询以从所有给定表中提取数据。
在SQL
我们会写这样的东西
SELECT table1.var1, table2.var2, table2.var3 FROM table1, table2.
但在python
我面临困难,因为我们只能访问一个元素,例如:list [0] [1],list [1] [0]等。
答案 0 :(得分: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)