【问题标题】:mysql query magento consecutive left join problemmysql查询magento连续左连接问题
【发布时间】:2020-05-28 14:31:18
【问题描述】:

我的这个查询没有给我来自 magento 1.9 数据库的预期结果:

SELECT 
customer.email AS email,
company.value as comp

FROM customer_entity AS customer

JOIN customer_address_entity AS addressentity
    ON customer.entity_id=addressentity.parent_id

LEFT JOIN customer_address_entity_varchar AS company
    ON  company.entity_id=addressentity.entity_id
WHERE
    customer.store_id = 1 AND

    company.attribute_id=24 AND

    customer.email="this@mail.com"

如果它不存在,它应该给我电子邮件和公司值为 null,但如果没有公司名称,它什么也不给我。

【问题讨论】:

    标签: mysql sql select magento-1.9


    【解决方案1】:

    对于 customer_address_entity 表也请使用左外连接,

    SELECT 
    customer.email AS email,
    company.value as comp
    
    FROM customer_entity AS customer
    
    FULL OUTER JOIN customer_address_entity AS addressentity
        ON customer.entity_id=addressentity.parent_id
    
    FULL OUTER JOIN customer_address_entity_varchar AS company
        ON  company.entity_id=addressentity.entity_id;
    

    【讨论】:

    • 那么请全外连接,你可能有它的第一个表。编辑了查询。请尝试。并且不要使用 where 子句,它会过滤掉您的数据,导致没有值
    • Mysql 没有使用 FULL OUTER JOIN,我用 union 试过了,不是预期的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 2013-03-27
    • 2013-03-05
    • 1970-01-01
    相关资源
    最近更新 更多