Ms-Access

將一個表的兩個欄位與另一個表的一個欄位相關聯

  • February 23, 2017

我有兩個看起來像這樣的表:

Table1               Table2
ID | Appname         ID  | App  | Dependency
------------         -----------------------
1  | App1            1   | 2    |  3
2  | App2            2   | 3    |  1
3  | App3            3   | 2    |  1
etc....               etc...

基本上,一個應用程序可以有一個或多個依賴項,這些依賴項必須在執行之前完成。在表 2 中,兩者都AppDependency表 1 的 ID 欄位相關,但我很難將這些與 SQL 連結在一起而不會出錯。

加入表格的正確方法是什麼,以便我得到如下所示的結果:

Dependencies:
App2: App3, App1
App3: App1

(不必那樣佈置,但如果可以,那就太好了)

使用視圖設計器,添加 Table2,然後添加 Table1 兩次。

選擇 Table1.ID 並拖動到 Table2.App 並對 Table1_1 和 Table2.Dependency 執行相同的操作。

SELECT Table2.Id, 
      Table2.App, 
      Table2.Dependency, 
      Table1.Appname, 
      Table1_1.Appname
FROM 
      Table1 AS Table1_1 
INNER JOIN 
      (Table1 INNER JOIN Table2 ON Table1.Id = Table2.AppId) 
      ON Table1_1.Id = Table2.Dependency;

引用自:https://dba.stackexchange.com/questions/165237