追加到列表 SQL 的结果



我有一个SQL Server数据库,它有一个表,列出了其他表以及它们上的一些元数据。我可以通过Python将其提取到列表中。然后我想做的是查询每个表中的行数,然后将结果附加到我的列表中。

例如,我运行脚本的第一部分,得到一个项目列表,每个项目都包含 3 个项目的列表(名称、活动、表名称(。然后,我想循环浏览我的列表,选择第三个项目,在我的SQL查询中使用它,然后将结果附加到列表中的第四个项目中。

它开始了

[[table1, act1, Table_1],[table2, act2, Table_2],[table3, act3, Table_3]]

第二部分,首先Table_1,计算行数,然后将其附加到列表中

[[table1, act1, Table_1,10],[table2, act2, Table_2],[table3, act3, Table_3]]

然后对于列表 2 等

[[table1, act1, Table_1,10],[table2, act2, Table_2,16],[table3, act3, Table_3]]

尝试了一些事情,但没有进一步!

提前谢谢。

import pyodbc
conn = pyodbc.connect(connetStr)
cursor = conn.cursor()
wffList=[]
cursor.execute('SELECT C_NAME,C_ACTIVE, C_TABLE_NAME from T_FORM_HEAD')
for row in cursor:
    wffList.append(row)
for row in wffList:
    tabName=row[2]
    quer=('SELECT Count(*) FROM '+ tabName)
    cursor.execute(quer)
    rowCount=cursor.fetchone()

您可以创建新列表并附加包含所有四个值的行

new_results = []
for row in wffList:
    tabName = row[2]
    quer = ('SELECT Count(*) FROM '+ tabName)
    cursor.execute(quer)
    rowCount = cursor.fetchone()
    row.append(rowCount)
    new_results.append(row)
print(new_results)

或者您可以使用枚举来获取行的编号

for number, row in enumerate(wffList):
    tabName = row[2]
    quer = ('SELECT Count(*) FROM '+ tabName)
    cursor.execute(quer)
    rowCount = cursor.fetchone()
    wffList[number].append(rowCount)
print(wfflist)

但您可能也可以编写一个 SQL 查询来一次获取所有查询。

但此刻对我来说可能很复杂。

最新更新