MySQL连接选择两个不同的数据库表

时间:2018-01-14 11:37:00

标签: mysql

初学者。我想加入两个驻留在两个不同数据库中的表。 让我们说:

id|coupon|created_at

a_database表名是:优惠券 和列是:id|phone|coupon_id|created_at b_database表名是:partner_company_clients 和列是:SELECT * FROM b_database.partner_company_clients pcc INNER JOIN (SELECT id, coupon from a_database.coupons) mac on mac.id=pcc.coupon_id WHERE pcc.partner_company_id=1 AND pcc.deleted_at IS NOT NULL;

查询是:

SELECT id, phone 
    FROM b_database.partner_company_clients pcc
    INNER JOIN (SELECT id, coupon from a_database.coupons) mac on 
    mac.id=pcc.coupon_id
    WHERE pcc.partner_company_id=1 
    AND pcc.deleted_at IS NOT NULL;

这完全没问题。但我不想从b_database.partner_company_clients表中提取所有内容。只有电话号码栏。 如果我删除*并指定列名称则会引发错误。我不能说出原因。

选择查询变为:

{{1}}

错误:

  

错误:#1052 - 列' id'在字段列表中是不明确的

1 个答案:

答案 0 :(得分:2)

您的查询涉及来自内部查询的2个ID列和来自https://的第2个ID列,因此使用link = location.host; if (link == "www.puslapioguru.eu") { 它不清楚您想要哪个ID列,因此请在列名称之前使用别名或使用列

之前的完整数据库和表名
partner_company_clients

select id