MySQL在行中查找列值

时间:2016-02-12 16:24:11

标签: mysql

我有一个场景,我需要将一个表的列中的值与另一个表中的行匹配。

我有两个表:employee_id和id_entries。

employee_id具有以下结构:

    employee_id     id_1    id_2
    1               123      456
    2               789      120
    3               345      678
    4               901      234

id_entries具有以下结构:

    employee_name   id_number
    John Doe          123
    Jane Smith        789
    John Doe          456
    Jane Smith        120

我希望能够将employee_id表中的employee_id字段与id_entries表中的employee_name匹配,其中id_1和id_2都有一个条目。

例如

    employee_id     employee_name    id_1    id_2
    1               John Doe         123     456
    2               Jane Smith       789     120

我尝试了几种不同的连接,但无法恢复正确的结果。提前谢谢。

1 个答案:

答案 0 :(得分:1)

你需要将它加入id_entries表的两个实例,每个id coluomn一个:

select emploee_id, a.emploee_name, id_1, id_2 form 
 employee_id inner join id_entries as a on employee_id.id_1 = a.id_num
 inner join id_entries as b on employee_id.id_2 = b.id_num
 where a.emploee_name = b.emploee_name