比较两个函数的结果,如果结果相同则隐藏结果


comparing the results from 2 functions and hiding results if they are the same

我使用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_coursesorganization_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注入的攻击。