使用 SQL 服务器,我有一个表,可以使用同一列连接多个表。该表有两列,SourceType 和 SourceID。 SourceType 是要连接的表,SourceID 是我们连接到的表的主键。这会产生如下查询:
select *
from MyTable join TableOne
where MyTable.SourceId = TableOne.ID
and MyTable.SourceType = 'TableOne';
select *
from MyTable join TableTwo
where MyTable.SourceId = TableOne.ID
and MyTable.SourceType = 'TableTwo';
我需要对此做一些研究。这种方法叫什么?
最佳答案
如果我没理解错的话,您正试图使用一列来引用 2 个不同表的主键。我相信这种方法称为多态关联
。这个概念是有效的,但使用您的解决方案来实现它并不是最好的方法。 Here's some other ways to do it.
关于SQL Server,连接到具有相同列的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912697/