2

我不确定我错过了什么,但我知道它不应该这么难。我有两张桌子。第一个表列出了站点的所有可能工作。第二个表包含在站点完成工作的时间。我想要一个查询,在那里我可以获得所有可能的工作并加入秒表中的数据(如果有的话)。尚未完成作业的站点将具有 NULL 值。

例子:

表 1:
ID
名称
说明

表 2:
ID
siteID
status
jobID

SELECT table1.* , table2.*
FROM table1
LEFT JOIN table2
ON table1.id = table2.jobID
WHERE siteID = 12

这仅返回已完成的作业,而不是所有已完成和未完成的作业。

在此先感谢您的帮助。

4

2 回答 2

1

如果您想要此特定站点或 null

于 2012-11-14T22:50:14.907 回答
0

应该做一个简单的更改,只需更改 上的值的顺序JOIN,如下所示:

SELECT table1.* , table2.* 
FROM table1
LEFT JOIN table2
ON table2.jobID = table1.id
WHERE siteID = 12 OR siteID IS NULL

请记住,NULL当没有结果时,siteID 将是,因此也要更改您WHERE的。

于 2012-11-14T22:49:57.753 回答