如何在查询中使用相交?

时间:2019-06-01 09:29:54

标签: php mysql database

我有2张桌子。我想检查插入表中的最后一个数据。 因此,我想从两个表中检索最后一个数据,然后检查两个表中的最后一个数据是否相同。

$q1 =   "SELECT * ".
        "FROM `admin`, `student` ".
        "ORDER BY `admin`.`id` DESC  LIMIT 1 ".
        "INTERSECT".
        "SELECT *".
        "FROM `admin`, `student`".
        "WHERE `admin`.`pcode` = `student`.`code` AND
`admin`.`puser_name` = `student`.`puser_name`";

我无法使用相交运算符,因此我很难更改其他形式。

2 个答案:

答案 0 :(得分:0)

尝试此查询:

$q1 = "SELECT * FROM admin
WHERE admin.pcode = student.code
INTERSECT
SELECT *FROM student
WHERE admin.puser_name = student.puser_name
ORDER BY admin.id DESC  LIMIT 1";

INTERSECT运算符比较两个查询的结果,并返回左右查询输出的不同行。

答案 1 :(得分:0)

尝试以下查询:

$q1 =   "SELECT * FROM admin, student ORDER BY admin.id DESC  LIMIT 1 
        INTERSECT 
        SELECT * FROM admin, student 
        WHERE admin.pcode = student.code AND admin.puser_name = student.puser_name 
        ";

希望会有所帮助