代码之家  ›  专栏  ›  技术社区  ›  Benny

联接不同的表

  •  0
  • Benny  · 技术社区  · 14 年前

    我有两个不同的表和一大组子查询,它们都有这两个表的键。我需要将这两个表连接到每个子查询中。

    表1
    表1

    表2
    表2ID

    子查询
    表1
    表2ID

    有什么办法把所有的东西都连接起来吗?

    我试过类似的东西

    SELECT Table1.Table1ID, Table2.Table2ID
    FROM Table1, Table2
    LEFT JOIN (SELECT Table1ID, Table2ID FROM ....) q1 ON Table1.Table1ID = q1.Table1ID AND Table2.Table2ID = q1.Table2ID
    ...
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Oded    14 年前

    以下查询将从各个表ID上所有三个表的联接中选择所有字段:

    SELECT *
    FROM Table1 t1
      INNER JOIN Subqueries s
        ON t1.Tabl1Id = s.Table1Id
      INNER JOIN Table2 t2
        ON s.Tabl2Id = ts.Table2Id
    

    如果您绝对需要来自表1和表2的所有记录,无论它们是通过子查询表联接的,那么您可以将联接更改为完全外部:

    SELECT *
    FROM Table1 t1
      FULL OUTER JOIN Subqueries s
        ON t1.Tabl1Id = s.Table1Id
      FULL OUTER JOIN Table2 t2
        ON s.Tabl2Id = ts.Table2Id