2017-04-04 40 views
-1

如何在Microsoft Access中制定查詢以從這兩個源表中生成以下結果表?訪問查詢默認值,如果不匹配

表1

Item Code 
--------- 
Item 01 
Item 02 
Item 03 

表2

Item Code | Quotation 
----------+---------- 
Default |  5000 
Item 01 |  1000 
Item 02 |  2000 

我想結果表必須是這樣的:

結果表

Item Code | Quotation 
----------+---------- 
Item 01 |  1000 
Item 02 |  2000 
Item 03 |  5000 <== note no matching item code in table 2 
+0

調整後的措辭和格式。刪除了MySQL標籤並使用MS Access標籤進行了重新修復。 –

回答

0

我認爲這將是更好地存儲在一個專用表中的默認值,而不必「項目走」的其他值:

SELECT t1.ItemCode, t2.Quotation 
    FROM Table01 t1, Table02 t2 
    WHERE t1.ItemCode = t2.ItemCode 
UNION 
SELECT t1.ItemCode, t2.Quotation 
    FROM Table01 t1, Table02 t2 
WHERE t2.ItemCode = 'Default' 
     AND t1.ItemCode NOT IN (SELECT ItemCode FROM Table02); 
+0

謝謝,它正在工作。 –

0

試試這個:

SELECT T1.No, T1.ItemCode, T2.Quotation 
FROM TABLE01 T1 
INNER JOIN TABLE02 T2 
     ON T1.ItemCode = T2.ItemCode 
     OR (T1.ItemCode <> T2.ItemCode AND T2.ItemCode = 'Default'); 
+0

我試過了,但是在最後一行有一些錯誤:「缺少(或[....」這樣的東西。 –

+0

我想填充不匹配的行作爲默認值 –

+0

@ user7795335請分享確切的錯誤,重新獲得和你正在嘗試的東西 –

相關問題