*我将只提供必要的数据,而不是所有数据,以避免混淆结构
tbl_job_plist
-jplist_id (主键) -jplist_position
tbl_prf
-prf_id (主键) -prf_job_post_ref
tbl_applicant
-ap_id (PK) -ap_position_applied -ap_status
样本数据
tbl_prf
prf_id | prf_job_post_ref |
---------------------------------
1 | 1 |
3 | 1 |tbl_job_plist
jplist_id | jplist_position |
------------------------------------
1 | Crew |tbl_applicant
ap_id | ap_position_applied | ap_status | ap_name |
------------------------------------------------------------
1 | 1 | 1 | Robert |下面是该项目的流程。首先,您需要创建一个职位发布(Tbl_job_plist)。然后,在创建人员请求(Tbl_prf)之后,您将需要指示Job Posting Reference,因此这将是prf_job_post_ref的值。其他人员请求可以指示相同的职务发布。然后,申请者将从显示的职务公告列表中选择ap_position_applied的值,并获得ap_status 1作为默认值。
因此,如果我要执行一个查询,该查询将查看所有ap_status为1的申请者,那么我的查询就是
SELECT
tbl_applicant.ap_id,
tbl_applicant.ap_name,
tbl_job_plist.jplist_id,
tbl_prf.prf_id
FROM tbl_applicant
LEFT JOIN tbl_job_plist ON tbl_applicant.ap_position_applied = tbl_job_plist.jplist_id
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref
WHERE ap_status = 1 我得到的结果是:
ap_id | jplist_id | prf_id | ap_name |
-----------------------------------------------------------
1 | 1 | 1 | Kurt |
1 | 1 | 3 | Kurt | 但我只想返回不会重复的结果。
我知道是因为
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref我得到了这个结果。因此,我在根据我提供的流程编辑我的结构时,征求您的建议。谢谢你们
发布于 2015-11-11 11:04:44
如果不想显示重复的数据,可以尝试GROUP BY。
SELECT
tbl_applicant.ap_id,
tbl_applicant.ap_name,
tbl_job_plist.jplist_id,
tbl_prf.prf_id
FROM tbl_applicant
LEFT JOIN tbl_job_plist ON tbl_applicant.ap_position_applied = tbl_job_plist.jplist_id
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref
WHERE ap_status = 1
GROUP BY tbl_applicant.ap_id,tbl_applicant.ap_name, tbl_job_plist.jplist_id,tbl_prf.prf_id 或
您可以尝试使用DISTINCT
SELECT DISTINCT
tbl_applicant.ap_id,
tbl_applicant.ap_name,
tbl_job_plist.jplist_id,
tbl_prf.prf_id
FROM tbl_applicant
LEFT JOIN tbl_job_plist ON tbl_applicant.ap_position_applied = tbl_job_plist.jplist_id
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref
WHERE ap_status = 1发布于 2015-11-11 11:08:08
当您将其更改为右连接时会发生什么?
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref https://stackoverflow.com/questions/33643489
复制相似问题