1

TB1, TB2, TB3在服务器上的一个数据库中,TB4在另一个数据库中。

join需要的列信息如下:

  • TB1 - a1、b2 列。
  • TB2 - a2、b2、c3 列。
  • TB3 - a3 栏。
  • TB4 - a4 栏。

TB1, TB2, TB3ID TB1 的 ID 相关联的是主键和 TB2、TB3 和 TB4 中的外键

我正在使用 SQL Server Management Studio

代码:

从 TB1、TB2、TB3 中选择 ID,其中 TB1.ID = TB2.TB1.ID

4

1 回答 1

2

你可以像这样链接它们(不要忘记把你错过的关系说出来):

SELECT t1.a1, t1.b2, t2.a2, t2.b2, t2.c3, t3.a3, t4.a4
FROM db1..TB1 t1
INNER JOIN db1..TB2 t2 ON t1.ID = t2.ID
INNER JOIN db1..TB3 t3 ON t1.ID = t3.ID
INNER JOIN db2..TB4 t4 ON --put relation here

还要用每个表所在的数据库名称替换db1db2


最后一点,您的代码提供了冗余信息,因为您没有做出所有限制。因此,产生了笛卡尔积。

于 2012-08-28T15:51:15.017 回答