Python MySQLdb 打印 Table A 中不在 Table B 中的行

Python MySQLdb print row(s) from Table A where not in Table B

我有两个 table,sales_olapresellers

我需要打印出 sales_olap 的经销商在 resellers table

中不存在

例如:

result = cursor.execute("SELECT SO.reseller_name FROM sales_olap AS SO WHERE 
SO.reseller_name!=(SELECT reseller FROM resellers)")
for row in result:
    print row

但我收到以下错误:1242, Subquery returns more than 1 row

我怎样才能让它只打印 sales_olap table 中的经销商名称,而 resellers table 中不存在这些经销商名称?

如果我尝试这样做:

    result = cursor.execute("SELECT reseller_name FROM sales_olap WHERE reseller_name NOT IN(SELECT reseller FROM resellers)")
    for row in result:
        print row['reseller_name']

然后我得到以下错误:TypeError: 'long' object is not iterable

能够通过这种方式实现它:

cursor.execute("SELECT reseller_name FROM sales_olap LEFT JOIN resellers ON sales_olap.reseller_name=resellers.reseller WHERE resellers.reseller IS NULL")
result = cursor.fetchall()

for row, in result:
    print (row)