SQL FOR VBA WITH SQL_SELECT... LEFT JOIN

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 SYNTAX

SELECT [tên cột] (nhiều cột)
FROM [tên bảng tính 1] 
LEFT JOIN [tên bảng tính 2]
ON [tên bảng tính 1].[tên cột] = [tên bảng tính 2].[tên cột]

Ở đây sẽ lấy toàn bộ dữ liệu bảng tính 1 và một phần chung của bảng tính 2. Kết quả sẽ trả về 0 nếu bảng tính 2 không có dữ liệu chung với Bảng tính 1

 

SQL FOR VBA WITH SQL_SELECT... LEFT JOIN

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

SQL FOR VBA WITH SQL_SELECT... LEFT JOIN

Bước 2: Viết câu lệnh SQL theo cú pháp Select… Left Join. Ta cũng có thể kết hợp với Select… Inner Join

 

SELECT   [Orders].[Order ID], [Orders].[Customer Id],[Orders].[Order Date],[Customers].[Last Name], [Customers].[First Name],[Orders].[Shipping Fee],[HangHoa].[Shipper ID], [HangHoa].[TEN_HH]
 FROM (([Orders] LEFT JOIN [Customers] 

ON [Orders].[Customer ID] = [Customers].[ID])
INNER JOIN [HangHoa] ON [Orders].[Shipper ID] = [HangHoa].[Shipper ID])

TỪ KHÓA SELECT: CHỌN CÁC TRƯỜNG DỮ LIỆU [Order ID], [Customer Id], [Order Date], [Shipping Fee] trong bảng [ORDERS] và các trường [Last Name], [First Name] trong bảng [CUSTOMERS] và trường [Shipper ID], [TEN_HH] trong bảng [HangHoa]

TỪ KHÓA FROM: LẤY THÔNG TIN TỪ BẢNG [ORDERS] (BẢNG 1)

TỪ KHÓA LEFT JOIN: KẾT HỢP LẤY THÔNG TIN TỪ BẢNG [CUSTOMERS] (BẢNG 2)

TỪ KHÓA INNER JOIN: KẾT HỢP LẤY THÔNG TIN TỪ BẢNG [HangHoa] (BẢNG 3)

TỪ KHÓA ON: BẢNG 1 VÀ BẢNG 2 CÓ CHUNG TRƯỜNG [Customer ID], BẢNG 1 VÀ BẢNG 3 CÓ CHUNG TRƯỜNG [Shipper ID]

Bước 3: Thực hiện câu lệnh SQL để hiện thông tin về Mã khách hàng, Ngày đặt hàng và phí vận chuyển (trong bảng [Orders]), lấy Tên gọi và đệm trong bảng [Customers]) và mã nhân viên giao hàng, Tên Hàng hóa trong bảng [HangHoa]. Ở đây bảng [Orders] và [Customers] sẽ là kết nối Left Join nghĩa là một số thông tin không có trong bảng Customers sẽ trả về 0, còn bảng [Orders] vẫn lấy hết thông tin. Còn bảng [Orders] và bảng [HangHoa] là kết nối Inner Join nên cả hai bảng chỉ lấy phần giao nhau nghĩa là thông tin phải bắt buộc có trong 2 bảng mới lấy ra kết quả. Và đây là Kết quả:

SQL FOR VBA WITH SQL_SELECT... LEFT JOIN

 

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