我有一个 SQL 查询在一定程度上可以正常工作。
LEFT OUTER JOIN 工作正常,但如果 mdl_modules 或 mdl_resource 中没有记录,它会出现 NULL。
如何从 mdl_course_modules 中排除记录,其中任何一个 LEFT OUTER JOIN 都没有记录?
我想我会使用 ISNULL() 但不确定与我的查询合并的正确语法。
这是我的查询:
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", "cm.id AS theid, m.name AS mname, r.name AS resourcename, r.summary AS resourcesummary,
FROM_UNIXTIME(cm.added, '%D %M %Y') AS dateadded")."
FROM mdl_course_modules cm
LEFT OUTER JOIN mdl_modules m on cm.module = m.id
LEFT OUTER JOIN mdl_resource r on cm.instance = r.id
WHERE m.name = 'resource' AND cm.visible = 1
$scourse
$sWhere
$sOrder
$sLimit