我必须在现有的 SQL 数据库上构建一个应用程序,我遇到了这种情况。
有一个表(称为它T1
),其中几个字段引用另一个表(T2
)中的值,该表基本上仅由 2 个字段组成,Id
并且Name
. 因此,T2
拥有不同性质和意义的数据,因为T1
与之相关的领域是非常不同的类型。(在我看来,这是一个不寻常的设计。)
我的问题:鉴于这种设计,我如何构建一个连接查询以获得T2.Name
与每个T1
字段相关的值。
编辑
我可以通过对每个字段进行一次查询来得到我想要的:
SELECT t2.name AS name1
FROM t1
INNER JOIN t2
ON t1.field1 = t2.id;
SELECT t2.name AS name2
FROM t1
INNER JOIN t2
ON t1.field2 = t2.id;
SELECT t2.name AS name3
FROM t1
INNER JOIN t2
ON t1.field3 = t2.id;
但这是无稽之谈。那么如何将所有这些打包在一个查询中呢?