我有两个表,即degree_occupations和ideal_jobs。我需要在degree_occupations表中获取不匹配的记录,反之亦然(在两个不同的MySQL查询中)。首先,我将展示数据在两个表中的样子。
degree_occupations
id|deg_code|occ_code
1 |BVS |SSB
2 |CAC |SSC
3 |CBP |SSM
4 |CBP |SCH
5 |CBP |SSB
6 |DEF |SSE
7 |PAR |SSMideal_jobs
id|deg_code|occ_code|dept_code
1|BVS |SSB |AAB
2|CAC |SSC |IND
3|CBP |SCH |GOM我所期望的结果是这样的,
degree_occupations
id|deg_code|occ_code|found_in_ideal_jobs
1 |BVS |SSB |1
2 |CAC |SSC |1
3 |CBP |SSM |0
4 |CBP |SCH |1
5 |CBP |SSB |0
6 |DEF |SSE |0
7 |PAR |SSM |0如果在ideal_jobs表中找到了该值,则返回值应为1,则应返回0。我需要一个MySQL查询来获取以下数据。
发布于 2020-01-16 12:28:49
我将根据degree_occupations中的两列使用左联接,然后使用case表达式检查ideal_jobs中是否有匹配的记录
SELECT d.id, d.deg_code,
d.occ_code,
CASE WHEN i.id IS NULL THEN 0 ELSE 1 END AS found_in_ideal_jobs
FROM degree_occupations d
LEFT JOIN ideal_jobs i ON d.deg_code = i.deg_code AND d.occ_code = i.occ_codehttps://stackoverflow.com/questions/59769638
复制相似问题