Python MySQLdb 打印 Table A 中不在 Table B 中的行
Python MySQLdb print row(s) from Table A where not in Table B
我有两个 table,sales_olap
和 resellers
我需要打印出 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)
我有两个 table,sales_olap
和 resellers
我需要打印出 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)