У меня есть две таблицы MS Access Table 1
и Table 2
, где меня интересуют значения в Col1
, Col2
и Col3
, где Col2
может быть пустым.Используя SQL, я хочу иметь возможность объединить обе таблицы, исключить дубликаты и найти все строки, для которых непустые значения Col2
отличаются для одного и того же значения в Col3
.
Пример для комбинированногодве таблицы без пустых значений в Col2
+-----------+---------+---------+
| Col1 | Col2 | Col3 |
+-----------+---------+---------+
| James | bar | 3 |
| Bob | red | 2 |
| Jess | red | 3 |
| Don | foo | 1 |
| James | bar | 1 |
| Mike | red | 3 |
| Paula | foo | 4 |
| Paula | red | 2 |
| Tom | red | 2 |
+-----------+---------+---------+
дали бы:
+-----------+---------+---------+
| James | bar | 3 |
| Jess | red | 3 |
| Mike | red | 3 |
| Don | foo | 1 |
| James | bar | 1 |
+-----------+---------+---------+
Чтобы объединить таблицы и устранить дубликаты, где Col2
не пусто, я могу использовать:
SELECT [Col1], [Col2], [Col3]
FROM [Table 1]
WHERE [Col2] <> ''
UNION ALL
SELECT [Col1], [Col2], [Col3]
FROM [Table 2]
WHERE [Col2] <> ''
GROUP BY [Col1], [Col2], [Col3]
Используя результат вышеприведенного оператора, я хотел бы знать, какой оператор SELECT
должен использоваться для достижения того, что я хочу.