我正在尝试从一个表中获取包含全局统计信息的对象,包括第二个表中的每日统计信息。为此,只要statsTable包含'oID
'和'Date
'列的匹配行,就可以使用以下连接查询。从两个表格中获取具有故障预置值的列
SELECT
o.ID as ID,
o.Image as Image,
o.Text as `Text`,
o.Views as `Views`,
o.Clicks as Clicks,
COALESCE(s.Views, 0) as DayViews,
COALESCE(s.Clicks, 0) as DayClicks
FROM objectTable o
LEFT JOIN statsTable s
ON o.ID = s.oID
WHERE o.userID = 1
AND DATEDIFF(CURDATE(), s.Date) < 1
LIMIT 1
即使statsTable不包含匹配的行,我该如何更改查询以获取结果行?
该查询不会给出错误,我只是不希望它返回一个空的结果,因为我确信在objectTable中有数据。
您已使用左连接。它是答案。请检查没有条件 –
正如我已经说过的,是的:左连接工作**如果** statsTable有数据加入。但是即使没有可用的数据,我也需要一个结果。我应该用什么来代替“Where”? – DosMike1