查询选择并显示所有第一个表和第二个表甚至在第二个表中不存在

时间:2021-01-04 15:57:47

标签: php mysql

样本表

TABLE FIRST_TABLE

| rid | requirements |
|  1  |    2x2  pic  |
|  2  |   valid id   |
|  3  |   137 form   |
|  4  |   app form   |

第二桌

| id | applicant_id | rid | remarks |
|  1 |      1       |  1  |  pass   |
|  2 |      1       |  2  |  pass   |
|  3 |      2       |  1  |  pass   |

如何从第一个表中选择所有记录并显示第二个表中不存在的数据。 结果应该是这样的。

applicant_id | rid | remarks |
     1       |  1  |  pass   |
     1       |  2  |  pass   |
     1       |  3  |  null   | 
     1       |  4  |  null   |

这是我的示例代码。

select requirements from first_table
left join second_table on first_table.rid = second_table.rid
where second_table.applicant_id = 1
group by first_table.rid

//result : 
 applicant_id | rid | remarks |
     1        |  1  |  pass   |
     1        |  2  |  pass   |

1 个答案:

答案 0 :(得分:0)

您只需要将 second_table.applicant_id = 1 移动到连接中即可。

select requirements, first_table.rid, remarks
from first_table
left join second_table on 
  first_table.rid = second_table.rid and 
  second_table.applicant_id = 1
group by first_table.rid

http://sqlfiddle.com/#!9/a0cffdd/17

相关问题