【问题标题】:Using SQL to get values from another table given a table with two columns of key给定具有两列键的表,使用 SQL 从另一个表中获取值
【发布时间】:2011-06-17 20:15:40
【问题描述】:

经过一些连接后,我设法得到了一个如下所示的表:

src | destination
1   | 2
3   | 4

源和目标都是 ID,还有另一个表是

id | name
1  | hello
2  | foo
3  | bar
4  | baz

我如何得到类似的东西

src   | dest
hello | foo
bar   | baz

在 sqlite 中相当快?

【问题讨论】:

    标签: sql sqlite select join


    【解决方案1】:

    假设您的第一个表称为Mapping,而您的源/目标名称表称为Locales

    这就是你想要做的:

    select l1.name as src, l2.name as dest
    from Mapping m 
    inner join Locales l1 on m.src = l1.id
    inner join Locales l2 on m.destination = l2.id
    

    【讨论】:

      【解决方案2】:

      您将使用 2 个连接到同一个表:

      select a1.name, a2.name
      from names a1
         join xref x
            ON x.src = a1.id
         join names a2
            ON x.destination = a2.id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多