我正在使用Python 3.8.5和mysql版本15.1发行版10.4.11-MariaDB进行编码。
我有三张桌子,
customer
,
partner
和
customer_partner
,
-
顾客
有专栏
customer_id
,
customer_name
,
address
;
-
搭档
有专栏
partner_id
,
partner_name
,
住址
; (注意
住址
列出现在两个表中,但内容明显不同)
-
客户与合作伙伴
有专栏
客户识别码
,
合伙人身份证
,描述一个客户和一个合作伙伴之间的合作关系;
我正在试图获取连接的列
顾客
和
搭档
适用于
客户识别码
位于包含以下python代码和SQL语句的列表中:
db = connect(...)
cur = db.cursor(dictionary=True)
customer_id_tuple = (1, 2, 3)
sql = f"""SELECT *
FROM customer, partner, customer_partner
WHERE
customer.customer_id in ({','.join(['%s' for _ in range(len(customer_id_list))])})
AND customer.customer_id=customer_partner.customer_id
AND customer_partner.partner_id=partner.partner_id
"""
cur.execute(sql, customer_id_tuple))
data = cur.fetchall()
在结果字典中
data
,我只看到一个
住址
柱明显地
住址
从…起
搭档
表覆盖了来自
顾客
桌子
除了修改列名,我还有没有更得体的方法来避免这种覆盖行为?比如在列名前面自动插入表名,比如
customer.address
和
partner.address
?