PIVOT - UNION - UNION ALL
1.Union/Union all
Chức năng: lấy và kết nối dữ(nối) liệu từ nhiều bảng, nhiều file theo chiều dọc với cấu trúc tương tự cấu trúc bảng đầu tiên, các bảng tiếp theo sẽ được nối tiếp sau bảng đầu tiên, các trường(cột) được nối bằng cách xác định thứ tự và không quan tâm đến tên cột.
▪ UNION: không trùng lắp dữ liệu (nếu có trùng thì chỉ lấy 01 lần) – giống DISTINCT
▪ UNION ALL: kể cả trùng lắp dữ liệu (nếu trùng vẫn lấy)
Cú pháp:
+ Union:
SELECT col_name(s) FROM table1
UNION
SELECT col_name(s) FROM table2;
+ Union all:
SELECT col_name(s) FROM table1
UNION ALL
SELECT col_name(s) FROM table2;
2. Pivot
Chức năng: tính Pivot tương tự trên Excel, có điểm advance hơn là tránh bị sai sót grand total như trên Pivot của Excel.
Cú pháp:
TRANSFORM Calculated_field
SELECT Cols FROM Table_name
GROUP BY Cols PIVOT Col_name
TRANSFORM Hàm_tính_toán (Tên Cột) |
Kết quả hàm này sẽ hiển thị theo chiều ngang – là data chính của Pivot |
SELECT tên_cột(s), hàm_tính_toán (tên cột) |
Tên cột có data cần hiển thị theo chiều dọc. Hàm tính toán có thể có hoặc không Nếu muốn hiện kết quả tổng thì dùng hàm tính toán(tên cột) trùng với hàm đã dùng ở TRANSFORM |
FROM [tên bảng] |
|
GROUP BY tên_cột(s) |
SELECT bao nhiêu cột thì phải GROUP BY bấy nhiêu cột |
PIVOT tên_cột |
Data của Tên cột sẽ trở thành Header hàng ngang của bản Pivot |