Records = Cursor.execute("SELECT cust_addr1, cust_addr2, cust_postcode, cust_telno_home, cust_email \
FROM tblcustomer, tblpet \
WHERE cust_surname = ? and tblpet.pet_deceased = ?" ,(SearchCriteria[0], "Y")).fetchall()
如果我很好地删除了tblpet,我可以运行这个查询,但是当我添加tblpet时,查询会运行,但是结果是重复的。所以我得到的不是5个结果,而是6300,但是所有的结果都是循环的。在
谢谢
编辑
我现在已经修复了这个问题,多亏了Mureinik和Siyual告诉我关于连接的信息。 然后我找到了这些
https://msdn.microsoft.com/en-us/library/bb243855(v=office.12).aspx
JOINing mdb tables with pyodbc
它工作了50%,但是我有一个好主意,进入access并进行查询,然后切换到SQL视图并复制它。效果很好,我离得太近了
回答
^{pr2}$
当您像这里一样编写隐式联接时(即,
from
子句中有多个表),数据库将创建这些行的笛卡尔积。您需要添加一个条件来只匹配适当的行。E、 g.假设顾客有身份证,宠物有顾客的身份证:或者更好的是,您可以使用显式
^{pr2}$join
语法:相关问题 更多 >
编程相关推荐