-
11-10-2008, 06:26 PM #1Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Sử dụng SubQuery để so sánh dữ liệu giữa 2 table
Chào các Bạn,
Trong thực tế ứng dụng Access vào Kế toán chúng ta thường có nhu cầu so sánh dữ liệu giữa 2 bảng với nhau, thí dụ như trường hợp cần kiểm tra xem có dữ liệu nào có trong table này nhưng không có trong table kia, ...
Sau đây tôi xin giới thiệu 1 trường hợp làm ví dụ:
Giả định ta có 2 bảng danh mục hàng hoá: DmHanghoa và DmHanghoa_ithon
Nhu cầu là: tìm ra những mặt hàng nào có trong DmHanghoa nhưng không có trong DmHanghoa_ithon.
Cách thức xử lý như sau:
Tạo 1 Query với câu lệnh SQL như sau:
SELECT DmHanghoa.MSHH
FROM DmHanghoa
WHERE (((Exists (SELECT * FROM DmHanghoa_ithon WHERE (DmHanghoa.MSHH = DmHanghoa_ithon.MSHH)))=False));
Các bạn chú ý sẽ thấy:
1. Có 1 câu lệnh SELECT lồng bên trong. Cái này gọi là SubQuery (từ Sub trong SubQuery là tiền tố chỉ 1 Query thứ cấp bên trong 1 Query khác, giống như SubForm trong 1 Form)
2. Từ khoá Exists được sử dụng trong trường hợp này như 1 toán tử để kiểm tra sự hiện diện của những mẫu tin thoả điều kiện đặt ra.
Các Bạn thử sử dụng với các toán tử sau xem sao nhé: IN, ANY, ALL
Sau đây là link tải các tài liệu có liên quan:
1. File mdb chứa ví dụ trên và tài liệu giải thích bằng tiếng Anh (tôi trích nguyên văn từ tài liệu gốc): http://www.mediafire.com/download.php?nzdctmzwzuo
2. Tài liệu tiếng Anh về sử dụng ngôn ngữ SQL trong MS. Access: http://www.mediafire.com/download.php?newjeymnmuzView more random threads:
- Giúp em hoàn thiện một Report.
- Sử dụng Access hay SQL để viết 1 ứng dụng?
- Lưu trữ sample mẫu
- Tại mục Total trong query, khi nào xài expresion?
- xem giúp mình bài tính đơn giá này,tạo bảng table lấy dữ liệu từ table khác
- Tạo ứng dụng Client - Server đơn giản trong Access
- Làm sao đặt password trong Acess
- Giúp đỡ mình về hàm month() trong Access
- Ai tạo dùm cái Crosstab Query này dùm mình cái... mình sẽ gửi cả project và câu hỏi lun.. !!!
- Hướng dẫn phần Tables
-
11-10-2008, 07:39 PM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Sử dụng SubQuery để so sánh dữ liệu giữa 2 table
Gửi bởi lehongduc
SELECT DmHanghoa.MSHH
FROM DmHanghoa
WHERE mshh NOT IN (SELECT mahh FROM dmHanghoa_ithon);
Câu này có ý nghĩa là hãy lọc ra những record của dmhanghoa mà ở đó mshh chưa tồn tại (chưa có) trong dmHanghoa_ithon.
-
11-11-2008, 03:17 PM #3Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Sử dụng SubQuery để so sánh dữ liệu giữa 2 table
Giả sử em đang có dữ liệu như sau:
MH | Tang loai
001 100 A
001 200 A
001 100 B
001 100 A
Các bác có thể dùng query để cho ra kết quả giống thế này không
MH | Tang loai |Hientai
001 100 A 100
001 200 A 300
001 100 B 100
001 100 A 400
Hiện tại để xử lý dạng thế này em đang phải dùng Dsum nhưng khi muốn chuyển sang SQL thì hình như các hàm có D... không áp dụng được
Xe vận chuyển 3 chân là khái niệm mà chỉ người trong lĩnh vực vận chuyển mới hiểu. Thuật ngữ “chân” xe tải sẽ làm cho rất nhiều hiểu sai, mơ hồ. “Chân” xe vận tải chẳng phải chỉ số bánh xe mà nó thể...
Xe vận tải 3 chân chở được bao nhiêu tấn hàng?