我有两张桌子。一个给我关于人口统计学的基本信息。我的人口统计表中的一个类别是人员的一部分,该表位于此表的ATID 530(有数百种不同的ATID)中:
正如您所看到的,此表的PK是ADefID。我的另一张桌子用它作为FK。它将索引包含在原始表中的记录的其他定义中。但是,这些附加定义也只是原始表中的记录。第二个表只是提供指针。
因此,如果我们选择一条记录,让我们说ADefID = 4684423,并在第二张表格中查找,我们将返回:
然后,CategoryADefID将指向原始表格的ADefID以获取另一条记录:
(请注意,此ADefID的ATID与原来的ADefID不同,这与此相关)
因此。让我们说我想从第一行中提取一组记录,比如
WHERE ATID = 530 AND CycleID = 9600
但我也希望将相关定义中的ADesc(可能是ADEValue)作为一个单独的字段。
所以最终结果看起来像这样:
我理解足以使连接到第二个表并返回CategoryADefID,但我不知道如何使用它来回调原始表中的另一个ADefID。另一个限制是我将在WHERE子句中使用ATID字段(ATID = 530),相关定义将具有不同的ATID。
答案 0 :(得分:1)
只需将另一个联接添加回原始表:
Select *
From tableA a
join tableB b on b.ADefID=a.ADefID
join tableA a2 on a2.ADefID = b.CategoryADefID
Where a.ADefID = 4684423