我有一个查询,我在哪里加入 3 个关系....A,B &。加入是在一个唯一的 id 上。表 B 包含彼此相似的行,我想对表 B 中的 FK 列(来自 A 的 PK)执行 DISTINCT。
为了更清楚地说明这一点:
A B C
--------- --------- ---------
No. (PK) Id(PK) Id (PK)
Name Role Address
No.(FK) No.(FK)
表 B 可以有来自表 A 的多个人员实例。我想要一个查询,该查询从 A、B 和 C 中提取字段,并加入 No. 字段。表 B 可以有几行与 No. 列的值相同,因此我想对 No. 列执行 DISTINCT。
我怎样才能做到这一点?
示例数据:
NAME ROLE ADDRESS
---------------------------------------
John Smith Manager 1, The Village
Dawn French Secretary 2, The City
John Smith SQL Dev 1, The Village
Terry Tibbs HR Manager 8, The Road
这是连接关系 A、B 和 C 的示例:
SELECT A.Name, B.Role, C.Address
FROM A, B, C
WHERE A.No = B.No AND B.No = C.No
表 B 可能包含几个具有多个角色的 John Smiths(同一个人)-> 因此我想在唯一标识一个人的编号上做一个 DISTINCT。这是表 A(编号)的 ePK。