1

简单的表格图

我有三个表(上面的简化表图)。从这三个表中,我想创建一个视图,它将是 TableA 和 TableB 的组合(tableA 中的所有行和 TableB 中的所有行,没有重复)。问题是我不想要 TableA 中的外键,而是想要视图中 TableC 中的名称。一行会像下面这样

标识、全名_A、全名_B

这可能吗?

4

1 回答 1

1

如果我对您的理解正确,则以下SQL Fiddle示例将为您提供所需的内容:

SELECT A.Id, C1.FullName AS APerson, C2.FullName As BPerson
FROM TableA AS A
  LEFT JOIN TableC AS C1 ON A.FK_PersonA = C1.Id
  LEFT JOIN TableC AS C2 ON A.FK_PersonB = C2.Id
UNION
SELECT B.Id, B.FullName1 AS APerson, B.FullName2 AS BPerson
FROM TableB AS B
于 2013-10-31T03:11:21.190 回答