当值来自同一列时,获取映射表ID的值

时间:2012-08-07 12:50:20

标签: mysql join mapping

我真的很想弄清楚什么应该是简单的,

我有两个表,一个包含记录,另一个是映射表。

记录

ID  Title      Description
1   record 1   desc 1
2   record 2   desc 2
3   record 3   desc 3
4   record 4   desc 4

映射表

ID1    ID2
 1      3
 2      4

我想要做的是获取映射表中每行的两个标题。所以上面会输出

record 1  record 3
record 2  record 4

我遗漏了一些非常明显的东西,尝试多次连接会导致错误,试图将同一个表连接两次。

以下内容返回NUll

SELECT records.title FROM mapping
    LEFT JOIN records 
    ON mapping.ID1 = records.id
     AND mapping.ID2 = records.id

1 个答案:

答案 0 :(得分:0)

试试这个:( UNTESTED

SELECT  b.Title as TitleA,
        c.Title as TitleB
FROM    mapping a
            INNER JOIN records b
                on a.ID1 = b.ID
            INNER JOIN records c
                on a.ID2 = c.ID