SQL Làm thế nào ghép 2 bảng lại với nhau để SUM dữ liệu khi số cột là khác nhau?

Hôm nay đọc câu hỏi của một bạn trong group Lập trình viên trên Facebook về SQL thấy rất hay, thực ra đối với mình nó không khó vì mình đã đi làm nhiều năm và dạng query kiểu này mình cũng làm rất nhiều rồi. Tuy nhiên mình thấy nó rất quan trọng và rất hay được sử dụng trong lập trình ứng dụng với database mà không phải ai cũng biết.
Vì vậy mình viết lời giải lên đây hi vọng các bạn Sinh viên chưa đi làm và chưa có nhiều kinh nghiệm về lập trình sql có thể tham khảo để phần nào tích thêm 1 chút kinh nghiệm nho nhỏ.
Câu hỏi:

[SQL]
Ai biết cách ghép 2 bảng này lại thành 1 bảng chỉ giúp mình.
Đáp án:
Select lan,mavt,sum(nhap) as nhap,sum(xuat) as xuat,sum(tra) as tra
from(
   Select lan,mavt,nhap,0 as xuat,0 as tra from Table_1
   union all
   Select lan,mavt,0 as nhap,xuat,tra from Table_2
) as a
Group by lan,mavt

Trương Đức Tài