简体   繁体   English

使用python从数据库中的多个表中提取多个值

[英]Extracting multiple values from multiple tables from Database using python

I have a python list which has multiple lists inside having tables and variables in those tables. 我有一个python列表,里面有多个列表,这些列表中有表和这些表中的变量。 Example: 例:

list = [ [ table1, var1 ], [ table2,var2,var3,var4 ], [ table3,var5,var6 ] ] .

Can a single SQL query be written in python to extract the data from all the given tables. 可以使用python编写单个SQL查询以从所有给定表中提取数据。

In SQL we will write something like this SQL我们将编写如下内容

SELECT table1.var1, table2.var2, table2.var3 FROM table1, table2.

But in python I am facing difficulty as at a time we can have access to only one element, ex: list[0][1],list[1][0] etc. 但是在python我遇到了困难,因为一次只能访问一个元素,例如:list [0] [1],list [1] [0]等。

You can access the list elements dynamically. 您可以动态访问列表元素。 Assuming your list stores strings and you want to output a string: 假设您的列表存储字符串,并且您想输出一个字符串:

for tablelist in list:
    for var in tablelist[1:]:
        print(tl[0] + '.' + var)

Or using a list comprehension: 或使用列表推导:

[tablelist[0] + '.' + var for tablelist in list for var in tablelist[1:]]

To create a string containing the SQL statement from your question: 要创建包含您的问题的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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM