2016-05-16 47 views
0

我有一个python列表,里面有多个列表,里面有表格和变量。 实施例:使用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我面临的困难,因为在同一时间,我们可以访问只有一个元素,例如:列表[0] [1],列表[1] [0]等。

+0

你可以显示你想要的输出吗? – Keatinge

+0

你能提供更多关于输出的信息吗?你想创建一个包含SQL查询的字符串吗? – tschale

回答

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) 
+0

谢谢!这有帮助。 –

+0

如果它回答了您的问题,您能否将其标记为已接受? – tschale

相关问题