У меня есть две таблицы:
таблица А
| Part | Val |
|:----:|:---:|
| AA | 3 |
| AB | 2 |
| AC | 11 |
| AD | 6 |
| AE | 3 |
таблицаB
| Part | Val |
|:----:|:---:|
| AC | 9 |
| AF | 5 |
| AG | 1 |
| AH | 10 |
| AI | 97 |
Я хотел бы union
эти таблицы для достижения этого результата:
| Part | ValA | ValB |
|:----:|:----:|:----:|
| AA | 3 | 0 |
| AB | 2 | 0 |
| AC | 11 | 9 |
| AD | 6 | 0 |
| AE | 3 | 0 |
| AF | 0 | 5 |
| AG | 0 | 1 |
| AH | 0 | 10 |
| AI | 0 | 97 |
Я пытался:
SELECT * FROM tableA
UNION ALL
SELECT * FROM tableB
Но это приводит только к одному столбцу vals, который мне не нужен.
Как я могу объединить эти таблицы и создать два столбца, по одному для каждой таблицы, где, если часть не отображается в другой таблице, ее значение может быть просто 0?
SQL FIDDLE для справки.