2016-11-22 133 views
1

我有兩個表。MS Access INNER/LEFT JOIN NULL值

第一個是:項目表

ID | SN | pTypeID 
----|----------|------- 
1 | project1 | 1 
2 | project2 | 3 
3 | project3 | NULL 
4 | project4 | NULL 

,第二個是:PTYPE表

ID | Name 
----|--------- 
1 | pType1 
2 | pType2 
3 | ptype3 

我想要做一個查詢,將返回以下

ID | SN | Name 
----|----------|-------- 
1 | project1 | pType1 
2 | project2 | pType3 
3 | project3 | NULL 
4 | project4 | NULL 

這是我試過的:

SELECT Project.ID, Project.SN, pType.Name 
FROM Project 
INNER JOIN Type ON Project.pTypeID = pType.ID 

但是我收到一個錯誤,提示「沒有爲一個或多個參數給出值」。

經過一番研究,我懷疑這個錯誤是由Project表中的NULL值產生的。我也嘗試過左連接,並得到了同樣的錯誤。

我發現this question但該解決方案在Access中顯然不起作用。

我正在用VBA在Excel中執行此操作。我使用ADODB連接連接到Access「.accdb」數據庫。

這是我的問題:有沒有什麼有效的方法來實現我想要做的?

感謝

+1

在內部聯接你'Type'但不是這應該是'pType'? – Todd

+1

是因爲你需要INNER JOIN pType(而不是Inner Join Type)嗎? –

+1

'LEFT JOIN'有什麼問題? – Comintern

回答

1

我相信你想留在加盟的P型

select p.id, p.sn, t.name 
from Project as p 
    left join pType as t on p.pTypeID = t.id; 
+0

是的,你說的對,左邊的連接應該可以工作。但這裏的問題是一個錯字。謝謝! –