一个简单的MySQL查询返回一个缺少结果的结果集。
SELECT users.uid, users.firstname, users.lastname, jobs_apps.read_app, jobs_apps.datetime
FROM jobs_apps
JOIN users ON users.uid = jobs_apps.uid
WHERE jobs_apps.job_id = '90'
这将返回29行。如果我运行以下内容:
SELECT * FROM jobs_apps WHERE job_id = '90'
我得到了31行。
2个缺失的结果在'read_app'中的值为0而不是1.
导致这种情况的原因是什么?
P.S。:我尝试运行原始查询并将SELECT子句更改为“SELECT *”,但我仍然只返回31行中的29个。
答案 0 :(得分:1)
在查询中尝试OUTER JOIN
即;
SELECT users.uid, users.firstname, users.lastname, jobs_apps.read_app, jobs_apps.datetime
FROM jobs_apps
RIGHT OUTER JOIN users ON users.uid = jobs_apps.uid
WHERE jobs_apps.job_id = '90'
希望这会有所帮助: - )