我不确定我错过了什么,但我知道不应该这么难。我有两张桌子。第一个表列出了站点的所有可能作业。第二个表格包含在某个站点完成作业的时间。我想要一个查询,我可以获得所有可能的工作,并加入秒表中的数据,如果有的话。未完成作业的站点将具有NULL值。
示例:
表1:
ID
命名
decsription
表2:
ID
的siteID
状态
作业ID
SELECT table1.* , table2.*
FROM table1
LEFT JOIN table2
ON table1.id = table2.jobID
WHERE siteID = 12
这仅返回已完成的作业,而不是所有已完成和未完成的作业。
提前感谢您的帮助。
答案 0 :(得分:1)
你应该删除where语句(当第二个表中的行是emty时它不符合条件siteID = 12)或更改它(添加“OR siteID为NULL”)如果你想要这个特定的站点或null < / p>
答案 1 :(得分:0)
应该进行简单的更改,只需更改JOIN
上的值的顺序,如下所示:
SELECT table1.* , table2.*
FROM table1
LEFT JOIN table2
ON table2.jobID = table1.id
WHERE siteID = 12 OR siteID IS NULL
请注意,如果没有结果,siteID将为NULL
,因此请更改WHERE
。