SQL FOR VBA WITH SQL_SELECT...UNION HOẶC SQL_SELECT... UNION ALL

Nguyen thi huyen trang
Nguyen thi huyen trang
May 09 2022

Xem tài liệu đính kèm VBA for SQL references hoặc VBA for connection with SQL

SELECT [tên cột] (nhiều cột)
FROM [tên bảng tính 1] 
UNION (UNION ALL)
SELECT [tên cột] (nhiều cột) FROM [tên bảng tính 2] 

Ở đây sẽ hiện ra kết quả của cả 2 bảng tính trong 1 cùng 1 sheets dữ liệu. Nghĩa là bạn có thể gộp các bảng tính từ nhiều sheets vào trong 1 sheet (1 bảng tính)

Từ khóa Union: sẽ cho kết quả là các giá trị duy nhất theo mặc định. Còn từ khóa Union All: sẽ cho kết quả là tất cả các cột của cả 2 bảng tính

Một số lưu ý quan trọng khi sử dụng Union (Union All)

  • Phải có chung tên trường (tên các cột)
  • Số lượng cột lấy ra trong hai hoặc nhiều bảng tính phải bằng nhau (nghĩa là bảng tính 1 lấy ra 4 cột thì bảng tính 2 cũng phải lấy ra 4 cột)
  • Mỗi cột trong câu lệnh Select phải được sắp xếp theo thứ tự giống nhau

Bước 1: Đặt tên cho các bảng tính trong từng sheets phía dưới và tên các trường dữ liệu

Bước 2: Viết câu lệnh SQL theo cú pháp Select… Union/ Union All

SELECT  [Customers].[ID] , [Customers].[Company],   [Customers].[Last Name], [Customers].[First Name], [Customers].[Business Phone] FROM [Customers]
UNION
SELECT [Customers_2].[ID] , [Customers_2].[Company],  [Customers_2].[Last Name], [Customers_2].[First Name], [Customers_2].[Business Phone] FROM [Customers_2]

TỪ KHÓA SELECT (1): CHỌN CÁC TRƯỜNG DỮ LIỆU [ID], [Company], [Last Name], [First Name] và [Business Phone] trong bảng [CUSTOMERS] (Bảng 1)

TỪ KHÓA SELECT (2): CHỌN CÁC TRƯỜNG DỮ LIỆU [ID], [Company], [Last Name], [First Name] và [Business Phone] trong bảng [CUSTOMERS_2] (Bảng 2)

TỪ KHÓA UNION: GỘP HAI BẢNG CUSTOMERS CÓ CẤU TRÚC GIỐNG NHAU TỪ 2 SHEETS VÀO TRONG 1 SHEET.

Bước 3: Thực hiện câu lệnh SQL để gộp thông tin Mã Khách hàng, Tên Gọi, Tên Đệm và Số điện thoại công ty từ Bảng [Customers] (1) và cũng thông tin như vậy từ Bảng [Customers_2] (2) vào chung 1 sheets Kết quả. Và được dữ liệu hiện thị như sau:

TA CŨNG CÓ THỂ LẤY TẤT CẢ DỮ LIỆU CÁC CỘT TRONG 2 BẢNG TÍNH TRÊN VỚI LỆNH UNION ALL

SELECT  *  FROM [Customers] UNION ALL SELECT * FROM [Customers_2]

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Hướng dẫn về đối tượng Range trong VBA cơ bản

Hướng dẫn về đối tượng Range trong VBA cơ bản

Hướng dẫn cách dùng các toán tử logic AND, OR, NOT trong VBA

Hướng dẫn cách dùng các toán tử logic AND, OR, NOT trong VBA

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Hướng dẫn cách gọi Sub trong VBA qua các ví dụ

Hướng dẫn cách viết các toán tử so sánh trong VBA

Hướng dẫn cách viết các toán tử so sánh trong VBA

Tìm kiếm bằng trình duyệt Google thật dễ dàng với VBA

Tìm kiếm bằng trình duyệt Google thật dễ dàng với VBA

Tìm kiếm bằng trình duyệt Google thật dễ dàng với VBA

Tìm kiếm bằng trình duyệt Google thật dễ dàng với VBA

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội