加入与表不同

时间:2010-06-23 19:06:50

标签: sql-server-2005 tsql

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

表1
Table1ID

表2
Table2ID

子查询
Table1ID
Table2ID

有没有办法将所有东西加在一起?

我尝试过与

相似的东西
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 个答案:

答案 0 :(得分:2)

以下查询将从相应表ID的所有三个表的连接中选择所有字段:

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

如果您绝对需要Table1和Table2中的所有记录,无论它们是否通过Subqueries表连接,那么您可以将连接更改为FULL OUTER:

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