*我只是提供必要的数据而不是全部以避免混淆 结构
tbl_job_plist
-jplist_id(PK) -jplist_position
tbl_prf
-prf_id(PK) -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),你需要指明作业发布参考,这将是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
我收到了这个结果。所以我在根据我提供的流程编辑我的结构时询问你的建议。谢谢你们
答案 0 :(得分:0)
如果您不想显示重复数据,可以尝试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
OR
您可以尝试使用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
答案 1 :(得分:0)
将此更改为正确加入时会发生什么?
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref