简体   繁体   English

MYSQL LEFT JOIN 未按预期工作未显示左表中的所有行

[英]MYSQL LEFT JOIN is not working as expected not showing all rows from left table

I have the following structure for form_meta我有form_meta的以下结构

在此处输入图像描述

and entry_metaentry_meta

在此处输入图像描述

I am running this query我正在运行此查询

SELECT 
    sequence AS sequence,
    meta_label AS label,
    results AS results,
    entry_id
FROM
    `form_meta`
        LEFT JOIN
    `entry_meta` ON form_meta.id = entry_meta.form_meta_id
WHERE
    `form_meta`.`form_id` = 10
        AND is_active = 1

But, I am getting 4 rows as result.但是,结果我得到了 4 行。 I am looking for 5 rows as form_meta is having 5 rows, last row must be empty.我正在寻找 5 行,因为form_meta有 5 行,最后一行必须为空。

What happens if you use proper table aliases?如果使用正确的表别名会发生什么?

SELECT 
    fm.sequence AS sequence,
    fm.meta_label AS label,
    em.results AS results,
    em.entry_id
FROM form_meta fm
LEFT JOIN entry_meta em ON fm.id = em.form_meta_id
WHERE fm.form_id = 10 AND fm.is_active = 1;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM