试图用表B中找不到的2个值筛选表a上的查询结果。正确的语法和方法是什么?在
import pyodbc
MDB = 'C:/db/db1.mdb'; DRV = '{Microsoft Access Driver (*.mdb)}'; PWD = 'pw'
con = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRV,MDB,PWD))
cur = con.cursor()
SQLA = 'SELECT * FROM TABLE1;' # your query goes here
SQLB = 'SELECT * FROM TABLE2;' # your query goes here
rows1 = cura.execute(SQLA).fetchall()
rows2 = cura.execute(SQLB).fetchall()
cur.close()
con.close()
for rit in rows1:
for git in rows2:
if (rit[1] and rit[2]) not in (git[1] and git[2]):
print ((rit[1]) (rit[2]))
只需使用熟悉的
LEFT JOIN... IS NULL / NOT EXISTS / NOT IN
的纯SQL解决方案。下面是在MS Access中兼容的等效查询,根据col1和col2返回TableA中而不是TableB中的行。在左连接…为空
不存在
^{pr2}$不在
Parfait提供的SQL语句是首选的解决方案,但如果您真的想使用双循环方法,则需要更像这样:
相关问题 更多 >
编程相关推荐