我使用2个函数。第一个函数提取以下信息:
$availcourse = "SELECT * FROM organization_courses oc left join course c on oc.courseid=c.id WHERE organizationid=$orgid ORDER By category";
$aresults = mysql_query($availcourse);
第二个函数提取这些信息:
$depcourse = "SELECT * FROM organization_dep_courses odc left join course c on odc.courseid=c.id WHERE depid=$departmentid ORDER By category";
$dcresults = mysql_query($depcourse);
我的问题是,我如何保持记录从函数#1显示在函数#2,如果他们是相同的?如果两个结果有明显的相似之处,将显示courseid
如果organization_courses
和organization_dep_courses
具有相同的列数并且列的顺序相同,则可以使用MySQL的UNION
。
$query = '
SELECT *
FROM (
(SELECT *
FROM organization_courses oc
LEFT JOIN course c ON oc.courseid = c.id
WHERE organizationid = $orgid)
UNION
(SELECT *
FROM organization_dep_courses odc
LEFT JOIN course c ON odc.courseid = c.id
WHERE depid = $departmentid)
) q
GROUP BY q.courseid
ORDER BY q.category
';
注意:您的SQL代码容易受到SQL注入的攻击。