我正在尝试创建一个查询,其中包含以下条件下的表中的记录:
包括:
- 用户在作业表中有记录。
- 用户在作业表中有 NULL join_date 或记录
排除
- 用户在作业表中没有记录且非空 join_date
这是我的架构:
user --> user_id, join_date
job --> job_id, user_id
user rows
user_id: 1, join_date: 1/24/13
user_id: 2, join_date: 1/24/13
user_id: 3, join_date: NULL
user_id: 4, join_date: NULL
job rows
job_id: 101, user_id: 1
job_id: 102, user_id: 3
我想编写一个返回用户#1、#3 和#4 的查询。我有以下不返回用户 #4 的查询:
SELECT DISTINCT u.[user_id], u.join_date, uj.job_id
FROM [user] u
LEFT JOIN job uj ON (u.user_id = uj.user_id OR u.join_date is null)
WHERE uj.user_id = u.user_id