python-2.7 - Python MySQLdb 打印表 A 中不在表 B 中的行
问题描述
我有两张桌子,sales_olap
并且resellers
我需要打印出表sales_olap
中不存在的经销商resellers
例如:
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
表中不存在的resellers
表中的经销商名称?
如果我尝试这样做:
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)
推荐阅读
- oracle - Oracle 表列包含 $
- firebase - 我可以使用 Firestore 查询文档并从 querySnapshot 响应中过滤一些文档字段吗?
- python-3.x - 从串行监视器读取时无法将字符串转换为数字(整数或浮点数)
- apache-spark - Spark 中的重复数据删除后 Parquet 文件大小翻倍
- android - 华为设备:您应用的 AndroidManifest.xml 中的元数据标签没有正确的值
- java - 如何模拟在使用 JMockit 测试的方法中创建的本地对象
- c# - 如何检查输出 DbParameter 的空值?
- react-native - 在 React Native 中从上到下并排动画视图
- amazon-web-services - 如何从给定的 AWS Powershell cmdlet/别名中检索所有数据?
- javascript - Nest.Js 从一个控制器重定向到另一个