Sql 如果不匹配,则访问查询默认值

Sql 如果不匹配,则访问查询默认值,sql,ms-access,select,join,Sql,Ms Access,Select,Join,如何在Microsoft Access中制定查询,以从这两个源表生成下面的结果表 表1 表2 我希望结果表必须如下所示: 结果表 试试这个: 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

如何在Microsoft Access中制定查询,以从这两个源表生成下面的结果表

表1

表2

我希望结果表必须如下所示:

结果表

试试这个:

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');

我认为最好将默认值存储在专用表中,而不必“投射”其他值:

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 );

我试过了,但最后一行出现了一些错误:缺少或[…..诸如此类的内容。我希望填充不匹配行作为默认值value@user7795335请分享你所得到的和你正在尝试的确切错误嗨。我知道这里的问题是什么。你必须知道,这就是为什么窗口错误出现的原因。调整了措辞和格式。删除了MySQL标记并用MS Access标记重新绘制。
Item Code | Quotation
----------+----------
Item 01   |      1000
Item 02   |      2000
Item 03   |      5000 <== note no matching item code in table 2
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');
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 );