Как я могу сформулировать запрос в 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
-1
Chanh NGUYEN Trung 4 Апр 2017 в 10:06

2 ответа

Лучший ответ

Я думаю, что было бы лучше сохранить значение по умолчанию в отдельной таблице, а не «проецировать» другие значения:

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
onedaywhen 4 Апр 2017 в 08:16

Попробуй это:

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
Saharsh Shah 4 Апр 2017 в 07:34