LEFT JOIN 表 mysql,未正确获取数据

LEFT JOIN tables mysql, not getting the data correctly

我不知道这是我查询的问题,还是我完全使用了错误的东西。

基本上我有2个table,submission_data和代码。代码可以在系统中进行管理,并在提交页面中针对每个代码提交数字。但是,如果在添加一些提交后添加新代码,我用来获取特定提交的所有数据的查询不会显示添加的任何新代码,因为它不存在于 submission_data table.

SQLFIDDLE

我的查询如下:

SELECT c.code, sd.code_value from submission_data sd 
LEFT JOIN codes c ON c.ID = sd.code_id 
WHERE submission_id = 1

我应该在结果中看到 S 代码,显然是 0 值,因为没有条目。

我是不是以错误的方式进行了查询(首先从错误的 table 中选择),还是与我的 JOINS 有关?我尝试了不同的组合并不断得到相同的结果

这个查询应该有效:

SELECT c.code, sd.code_value 
FROM codes c
LEFT JOIN submission_data sd  ON c.ID = sd.code_id AND submission_id = 1

它从 codes 获取所有行。对于 codes 中的每一行,它会找到 submission_data 中也具有 submission_id = 1 的所有匹配项(按 code.ID)。如果在 submission_data 中没有找到这样的行,它 returns NULL for sd.code_value.