如何将一个表中的两个或更多列与另一个表中的一个列联接在一起,即使第一个表列中的值为NULL

时间:2019-09-05 14:55:58

标签: php mysql sql database

我在一个表上有多个列(其中一些具有NULL值),我必须将它们连接到另一张表的列中。

当我尝试将它们与:

WHERE users.job_one = jobs.id_job
AND users.job_two = jobs.id_job

SQL:

SELECT users.id,users.name,users.job_one,users.job_two,jobs.*
FROM users,jobs 
WHERE users.job_one = jobs.id_job
AND users.job_two = jobs.id_job

我希望显示一个或两个工作的人,但结果却是空的。

1 个答案:

答案 0 :(得分:0)

如果要匹配NULL的值,请使用NULL安全比较运算符<=>

SELECT u.id, u.name, u.job_one, u.job_two, j.*
FROM users u JOIN
     jobs j
     ON u.job_one <=> jobs.id_job AND
        u.job_two <=> j.id_job;