Select Dữ Liệu Từ 2 Bảng Trong Sql

  -  
Access mang lại hostingvietnam.vn 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 coi thêm...Ít hơn

Đôi khi, bạn cũng có thể muốn liệt kê các bạn dạng ghi trong một bảng hoặc truy hỏi vấn cùng với những bản ghi trong một hoặc nhiều bảng không giống để có mặt một bộ nhiều bản ghi - list gồm toàn bộ các bản ghi từ nhì hoặc các bảng. Đây là mục đích của một truy vấn vấn hòa hợp trong Access.

Bạn đang xem: Select dữ liệu từ 2 bảng trong sql

Để hiểu truy vấn phù hợp một phương pháp hiệu quả, trước tiên các bạn sẽ làm thân quen với việc kiến tạo truy vấn chọn cơ bản trong Access. Để xem thêm thông tin về kiến thiết truy vấn chọn, hãy xem mục tạo nên truy vấn chọn đối chọi giản.


Lưu ý: Nội dung trong nội dung bài viết này được dùng với các cơ sở dữ liệu máy tính Access. Bạn không thể sinh sản hoặc sử dụng truy vấn hợp trong cơ sở tài liệu web Access hoặc áp dụng web Access.


Nghiên cứu giúp ví dụ truy nã vấn phù hợp hoạt động

Nếu bạn chưa bao giờ tạo một tróc nã vấn vừa lòng trước đó, chúng ta có thể thấy hữu ích khi phân tích một ví dụ vận động trong chủng loại Northwind Access trước tiên. Chúng ta có thể tìm kiếm mẫu mã mẫu Northwind bên trên trang ban đầu của Access bởi cách click chuột Tệp > Mới hoặc rất có thể trực tiếp thiết lập xuống bạn dạng sao từ địa điểm này: chủng loại mẫu Northwind.

Sau khi Access mở cơ sở dữ liệu Northwind, hãy làm lơ biểu mẫu mã hộp thoại đăng nhập lộ diện đầu tiêu, rồi bung rộng phòng dẫn hướng. Nhấn vào phần trên thuộc của phòng dẫn hướng, rồi lựa chọn Loại đối tượng để sắp tới xếp tất cả các đối tượng cơ sở dữ liệu theo loại. Tiếp theo, bung rộng nhóm Truy vấn và các bạn sẽ thấy một truy nã vấn mang tên là Giao dịch sản phẩm.

Truy vấn hợp rất dễ dàng phân biệt với các đối tượng truy vấn khác vị có biểu tượng đặc biệt giống như hai vòng tròn cuộn vào nhau đại diện thay mặt cho một bộ links từ nhì bộ:

*

Không giống hệt như truy vấn lựa chọn và hành động thông thường, những bảng không tương quan nhau trong truy vấn hợp, tức là không thể sử dụng trình kiến tạo truy vấn đồ họa Access để xây cất hoặc sửa đổi truy vấn hợp. Các bạn sẽ gặp vấn đề này trường hợp mở một truy tìm vấn hòa hợp từ chống dẫn hướng; Access đang mở truy hỏi vấn và hiển thị hiệu quả ở dạng coi biểu dữ liệu. Bên dưới lệnh Dạng xem trên tab Trang đầu, bạn sẽ nhận thấy rằng Dạng xem thiết kế sẽ không còn sẵn sử dụng khi thao tác làm việc với truy nã vấn hợp. Bạn chỉ bao gồm thể biến hóa giữa Dạng xem biểu dữ liệu với Dạng coi SQL khi thao tác với truy hỏi vấn hợp.

Để tiếp tục nghiên cứu vãn về ví dụ truy vấn thích hợp này, hãy bấm chuột Trang đầu > Dạng xem > Dạng xem SQL để xem cú pháp SQL xác định truy vấn. Trong hình minh họa này, họ đã thêm một trong những giãn phương pháp thừa trong SQL để chúng ta có thể dễ dàng thấy đa số khác nhau khiến cho một truy vấn vấn hợp.



Hãy cùng nghiên cứu chi tiết cú pháp SQL của truy tìm vấn hợp này tự cơ sở dữ liệu Northwind:

SELECT , , , , FROM UNIONSELECT , , , , FROM ORDER BY DESC; Phần trước tiên và phần thứ cha của câu lệnh SQL này cơ bản là hai truy vấn chọn. Các truy vấn này truy hỏi xuất nhị bộ bản ghi không giống nhau; một từ bảng Đơn hàng thành phầm và một từ bỏ bảng download sản phẩm.

Phần sản phẩm công nghệ hai vào câu lệnh SQL này là từ bỏ khóa UNION báo mang đến Access rằng truy nã vấn này sẽ phối kết hợp hai bộ bản ghi.

Phần cuối cùng của câu lệnh SQL này xác định thứ từ của các bạn dạng ghi được kết hợp bằng phương pháp sử dụng câu lệnh ORDER BY. Trong lấy một ví dụ này, Access đang xếp sản phẩm công nghệ tự tất cả phiên bản ghi theo trường Ngày đặt hàng theo lắp thêm tự giảm dần.


Lưu ý: Truy vấn hợp luôn ở tâm lý chỉ hiểu trong Access; các bạn không thể cụ đổi bất kỳ giá trị nào ở dạng xem biểu dữ liệu.


Tạo một tróc nã vấn hợp bằng phương pháp tạo và phối hợp các tróc nã vấn chọn

Ngay cả khi có thể tạo truy vấn vấn hợp bằng phương pháp viết thẳng cú pháp SQL ngơi nghỉ dạng coi SQL, chúng ta có thể thấy dễ ợt hơn khi xây dựng truy vấn một trong những phần với truy vấn chọn. Sau đó, chúng ta có thể sao chép với dán các phần SQL vào một truy vấn hợp vẫn kết hợp.

Nếu bạn có nhu cầu bỏ qua đọc quá trình và núm vào chính là xem ví dụ, hãy xem mục tiếp theo, coi ví dụ về cách dựng truy vấn vấn hợp.

Trên tab Tạo, trong team Truy vấn, bấm Thiết kế tróc nã vấn.

Bấm đúp vào bảng có các trường mà bạn có nhu cầu đưa vào. Thêm bảng vào cửa sổ thi công truy vấn.

Trong cửa ngõ sổ xây đắp truy vấn, hãy bấm đúp vào từng trường mà bạn muốn bao gồm. Khi chúng ta chọn trường, hãy bảo vệ rằng chúng ta thêm cùng số trường, trong cùng một thứ trường đoản cú mà các bạn thêm vào truy vấn lựa chọn khác. Hết sức chú ý đến kiểu dữ liệu của ngôi trường và bảo đảm an toàn rằng chúng bao gồm kiểu dữ liệu tương thích hợp với trường trong cùng một vị trí, trong tầm nã vấn khác mà nhiều người đang kết hợp. Ví dụ: nếu như truy vấn lựa chọn đầu tiên của chúng ta có năm trường, trường đầu tiên chứa tài liệu ngày/thời gian, hãy đảm bảo rằng mỗi truy vấn lựa chọn khác mà ai đang kết hợp cũng có thể có năm trường, trường trước tiên chứa dữ liệu ngày/thời gian v.v.

Bạn có thể tùy ý thêm tiêu chuẩn vào các trường của mình bằng cách nhập biểu thức cân xứng vào sản phẩm Tiêu chí của lưới trường.

Sau khi đang hoàn tất câu hỏi thêm trường và tiêu chuẩn trường, bạn nên chạy truy nã vấn chọn và coi lại áp ra output của truy vấn vấn đó. Trên tab Thiết kế, trong đội Kết quả, bấm vào Chạy.

Chuyển truy vấn vấn sang dạng xem Thiết kế.

Lưu tầm nã vấn lựa chọn và nhằm truy vấn mở.

Lặp lại giấy tờ thủ tục này cho mỗi truy vấn chọn mà bạn có nhu cầu kết hợp.

Giờ đây, các bạn đã tạo những truy vấn lựa chọn của mình, đã đến khi kết hợp những truy vấn ấy. Trong cách này, bạn tạo truy tìm vấn hợp bằng cách sao chép với dán những câu lệnh SQL.

Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế truy vấn.

Trên tab Thiết kế, trong nhóm Truy vấn, bấm chuột Kết hợp. Access ẩn cửa sổ thi công truy vấn và hiển thị tab đối tượng dạng xem SQL. Dịp này, tab đối tượng người tiêu dùng dạng xem SQL là trống.

Hãy bấm vào tab đến truy vấn chọn đầu tiên mà bạn muốn kết phù hợp trong truy hỏi vấn hợp.

Trên tab Trang đầu, bấm chuột Dạng xem > Dạng xem SQL.

Sao chép câu lệnh SQL mang lại truy vấn chọn. Bấm chuột tab giành riêng cho truy vấn hợp bạn đã bắt đầu tạo trước đó.

Dán câu lệnh SQL mang đến truy vấn lựa chọn vào tab đối tượng người dùng của dạng coi SQL của truy nã vấn hợp.

Xóa quăng quật dấu chấm phẩy (;) sống cuối câu lệnh SQL của tầm nã vấn chọn.

Nhấn phím Enter để dịch rời con trỏ xuống một dòng, rồi nhập UNION vào dòng xoáy mới.

Hãy bấm vào tab mang lại truy vấn chọn tiếp sau mà bạn có nhu cầu kết hợp trong tróc nã vấn hợp.

Lặp lại từ cách 5 tới cách 10 cho tới khi chúng ta đã sao chép với dán toàn bộ câu lệnh SQL mang lại truy vấn lựa chọn vào trong hành lang cửa số dạng xem SQL của truy hỏi vấn hợp. Không xóa sổ dấu chấm phẩy hoặc nhập bất cứ ký từ bỏ gì sau câu lệnh SQL mang đến truy vấn chọn cuối cùng.

Trên tab Thiết kế, trong đội Kết quả, bấm Chạy.

Kết trái của truy vấn vấn thích hợp sẽ xuất hiện ở Dạng xem biểu dữ liệu.

Xem ví dụ về kiểu cách dựng truy vấn vấn hợp

Đây là ví dụ bạn có thể tạo lại trong cơ sở dữ liệu mẫu Northwind. Truy tìm vấn phù hợp này tích lũy tên người từ bảng người tiêu dùng và kết hợp với tên tín đồ từ bảng đơn vị cung cấp. Nếu bạn có nhu cầu làm theo, hãy thực hiện quá trình này trong bạn dạng sao cơ sở dữ liệu mẫu Northwind của mình.



Đây là số đông bước quan trọng để kiến tạo ví dụ này:

Tạo nhì truy vấn chọn có tên là tầm nã vấn_1 cùng Truy vấn_2 với các bảng người sử dụng và Nhà cung ứng tương ứng theo máy tự làm nguồn dữ liệu. Sử dụng trường Tên cùng Họ làm cho giá trị hiển thị.

Tạo một tầm nã vấn mới có tên là tầm nã vấn_3 không tồn tại nguồn tài liệu ban đầu, rồi bấm chuột lệnh Kết hợp bên trên tab Thiết kế để mang truy vấn này vào tróc nã vấn hợp.

Sao chép với dán những câu lệnh SQL từ truy nã vấn_1 và Truy vấn_2 vào tầm nã vấn_3. Đảm bảo loại bỏ dấu chấm phẩy quá và thêm vào từ khóa UNION. Sau đó, chúng ta cũng có thể kiểm tra công dụng của mình sinh hoạt dạng xem biểu dữ liệu.

Thêm vào mệnh đề xếp sản phẩm tự vào một trong những truy vấn, rồi dán câu lệnh ORDER BY vào dạng xem SQL truy vấn vấn hợp. Xem xét rằng trong truy tìm vấn_3, tróc nã vấn hợp, lúc xếp máy tự được đính thêm, trước tiên, các dấu chấm phẩy, tiếp đến là thương hiệu bảng sẽ bị loại bỏ bỏ khỏi tên trường.

SQL sau cuối sẽ phối kết hợp và sắp đến xếp những tên cần sử dụng cho ví dụ như truy vấn đúng theo này là như sau:

SELECT Customers.Company, Customers., Customers.FROM CustomersUNIONSELECT Suppliers.Company, Suppliers., Suppliers.FROM SuppliersORDER BY , ; nếu như bạn viết cú pháp SQL một cách rất dễ dàng dàng, chúng ta cũng có thể chắc chắn viết trực tiếp câu lệnh SQL của riêng mình cho truy vấn hợp vào dạng coi SQL. Mặc dù nhiên, chúng ta cũng có thể thấy bổ ích khi làm cho theo cách thức tiếp cận về xào nấu và dán SQL từ các đối tượng người tiêu dùng truy vấn khác. Từng truy nã vấn hoàn toàn có thể phức tạp hơn những so với những ví dụ tróc nã vấn chọn dễ dàng và đơn giản được sử dụng tại đây. Đây hoàn toàn có thể là lợi thế của người sử dụng khi chế tác và kiểm soát từng tầm nã vấn một cách cẩn thận trước khi phối hợp các truy vấn vấn trong tróc nã vấn hợp. Trường hợp truy vấn phù hợp không chạy, bạn cũng có thể điều chỉnh từng truy hỏi vấn riêng lẻ cho đến khi thành công, rồi xây cất lại truy tìm vấn hợp của chính bản thân mình bằng cú pháp đúng.

Xem lại các mục còn sót lại của nội dung bài viết này để đọc thêm các mẹo và bí kíp về kiểu cách sử dụng truy vấn hợp.


Trong ví dụ sinh sống mục trước đó thực hiện cơ sở dữ liệu Northwind, chỉ kết hợp được dữ liệu từ hai bảng. Tuy nhiên, chúng ta cũng có thể kết hợp ba hoặc những bảng rất thuận tiện trong một truy tìm vấn hợp. Ví dụ: dựng trên ví dụ trước, bạn có thể cũng ước ao kèm theo tên của nhân viên trong áp sạc ra truy vấn. Chúng ta cũng có thể thực hiện nay tác vụ đó bằng phương pháp thêm một truy vấn thứ bố và kết phù hợp với câu lệnh SQL trước kia với từ bỏ khóa UNION bổ sung như cố kỉnh này:

SELECT Customers.Company, Customers., Customers.FROM CustomersUNIONSELECT Suppliers.Company, Suppliers.

Xem thêm: 1 Gb Bằng Bao Nhiêu Mb? Cách Quy Đổi Khi Sử Dụng Internet Bạn Nên Biết

, Suppliers.FROM SuppliersUNIONSELECT Employees.Company, Employees., Employees.FROM EmployeesORDER BY , ; khi chúng ta xem công dụng ở dạng xem biểu dữ liệu, toàn bộ nhân viên sẽ được liệt kê cùng tên doanh nghiệp mẫu, vốn rất có thể không cần rất hữu ích. Nếu bạn muốn trường đó cho thấy thêm một tín đồ là nhân viên nội bộ, từ nhà cung ứng hoặc từ khách hàng, chúng ta cũng có thể đưa vào giá chỉ trị cố định và thắt chặt thay đến tên công ty. Đây là bối cảnh của SQL:

SELECT "Customer" As Employment, Customers., Customers.FROM CustomersUNIONSELECT "Supplier" As Employment, Suppliers., Suppliers.FROM SuppliersUNIONSELECT "In-house" As Employment, Employees., Employees.FROM EmployeesORDER BY , ; Đây là giao diện công dụng sẽ xuất hiện ở dạng coi biểu dữ liệu. Access đang hiển thị năm bản ghi lấy ví dụ như này:

Công việc

Họ

Tên

Nội bộ

Freehafer

Nancy

Nội bộ

Giussani

Laura

Nhà cung cấp

Glasson

Stuart

Khách hàng

Goldschmidt

Daniel

Khách hàng

Gratacos Solsona

Antonio

Truy vấn bên trên có thể giảm được thậm chí nhiều hơn thế nữa vì Access chỉ đọc tên của trường cổng đầu ra từ truy vấn vấn trước tiên trong truy vấn vấn hợp. Trên đây, chúng ta thấy bọn họ đã sa thải đầu ra khỏi những mục truy nã vấn máy hai cùng thứ ba:

SELECT "Customer" As Employment, , FROM CustomersUNIONSELECT "Supplier", , FROM SuppliersUNIONSELECT "In-house", , FROM EmployeesORDER BY , ;
Trong truy nã vấn đúng theo Access, chỉ chất nhận được xếp sản phẩm công nghệ tự một lần tuy vậy từng truy nã vấn có thể được lọc riêng biệt. Câu hỏi dựng trên truy vấn vấn đúng theo của mục trước, dưới đó là ví dụ về vị trí bọn họ đã thanh lọc từng tróc nã vấn bằng phương pháp thêm mệnh đề WHERE.

SELECT "Customer" As Employment, Customers., Customers.FROM CustomersWHERE = "UT"UNIONSELECT "Supplier", , FROM SuppliersWHERE = "Sales Manager"UNIONSELECT "In-house", Employees., Employees.FROM EmployeesWHERE thành phố = "Seattle"ORDER BY , ; đổi khác sang dạng coi biểu tài liệu và bạn sẽ thấy hiệu quả có dạng như sau:

Công việc

Họ

Tên

Nhà cung cấp

Andersen

Elizabeth A.

Nội bộ

Freehafer

Nancy

Khách hàng

Hasselberg

Jonas

Nội bộ

Hellung-Larsen

Anne

Nhà cung cấp

Hernandez-Echevarria

Amaya

Khách hàng

Mortensen

Sven

Nhà cung cấp

Sandberg

Mikael

Nhà cung cấp

Sousa

Luis

Nội bộ

Thorpe

Steven

Nhà cung cấp

Weiler

Cornelia

Nội bộ

Zare

Robert


Nếu các truy vấn yêu cầu kết hợp đều rất khác nhau, bạn cũng có thể gặp đề xuất một trường hợp là trường áp sạc ra phải kết hợp dữ liệu của các loại dữ liệu khác nhau. Ví như vậy, tầm nã vấn hợp hầu hết thường đã trả về tác dụng dưới dạng loại tài liệu văn bản do nhiều loại dữ liệu hoàn toàn có thể lưu duy trì cả văn bạn dạng và số.

Để tìm hiểu cách truy vấn này hoạt động, chúng ta sẽ thực hiện truy vấn phù hợp Giao dịch sản phẩm trong cơ sở dữ liệu mẫu Northwind. Mở cơ sở dữ liệu mẫu đó, rồi mở tróc nã vấn Giao dịch thành phầm ở dạng coi biểu dữ liệu. Mười phiên bản ghi sau cuối phải tương tự như như áp sạc ra này:

ID Sản phẩm

Ngày đặt hàng

Tên công ty

Giao dịch

Số lượng

77

Nhà cung cấp B

Mua

60

80

Nhà cung ứng D

Mua

75

81

Nhà cung cấp A

Mua

125

81

Nhà hỗ trợ A

Mua

200

7

Công ty D

Bán

10

51

Công ty D

Bán

10

80

Công ty D

Bán

10

34

Công ty AA

Bán

100

80

Công ty AA

Bán

25

Hãy mang định rằng bạn có nhu cầu trường con số chia bóc tách vào hai - download và Bán. Cũng hãy đưa định rằng bạn có nhu cầu có cực hiếm số không cố định cho trường không có giá trị. Đây là giao diện của SQL so với truy vấn phù hợp này:

SELECT , , , , 0 As Buy, As SellFROM UNIONSELECT , , , , As Buy, 0 As SellFROM ORDER BY DESC;  trường hợp bạn chuyển đổi sang dạng coi biểu dữ liệu, bạn sẽ thấy mười bạn dạng ghi cuối cùng lúc này được hiển thị hệt như sau:

ID Sản phẩm

Ngày để hàng

Tên công ty

Giao dịch

Mua

Bán

74

Nhà hỗ trợ B

Mua

31

0

77

Nhà cung cấp B

Mua

60

0

80

Nhà hỗ trợ D

Mua

75

0

81

Nhà hỗ trợ A

Mua

125

0

81

Nhà cung cấp A

Mua

200

0

7

Công ty D

Bán

0

10

51

Công ty D

Bán

0

10

80

Công ty D

Bán

0

10

34

Công ty AA

Bán

0

100

80

Công ty AA

Bán

0

25

Tiếp tục lấy ví dụ như này, điều gì sẽ xảy ra nếu bạn có nhu cầu các trường bao gồm số ko là trống? bạn có thể sửa đổi SQL để không hiển thị gì thay vị số không bằng cách thêm trường đoản cú khóa Null giống như sau:

SELECT , , , , Null As Buy, As SellFROM UNIONSELECT , , , , As Buy, Null As SellFROM ORDER BY DESC; mặc dù nhiên, khi chúng ta cũng có thể quan liền kề việc chuyển đổi sang dạng xem biểu dữ liệu, thời điểm này bạn đã sở hữu một hiệu quả không muốn muốn. Vào cột Mua, mỗi trường số đông bị xóa:

ID Sản phẩm

Ngày đặt hàng

Tên công ty

Giao dịch

Mua

Bán

74

Nhà cung ứng B

Mua

77

Nhà cung ứng B

Mua

80

Nhà cung cấp D

Mua

81

Nhà hỗ trợ A

Mua

81

Nhà cung ứng A

Mua

7

Công ty D

Bán

10

51

Công ty D

Bán

10

80

Công ty D

Bán

10

34

Công ty AA

Bán

100

80

Công ty AA

Bán

25

Lý vì mà vấn đề đó xảy ra là do Access khẳng định loại dữ liệu của các trường từ tróc nã vấn đầu tiên. Trong lấy ví dụ như này, Null ko phải là 1 trong số.

Vì vậy, điều gì xảy ra nếu như khách hàng tìm giải pháp và chèn một chuỗi trống mang lại giá trị của các trường trống? SQL đối với nỗ lực này hoàn toàn có thể có dạng như sau:

SELECT , , , , "" As Buy, As SellFROM UNIONSELECT , , , , As Buy, "" As SellFROM ORDER BY DESC; khi bạn thay đổi sang dạng coi biểu dữ liệu, các bạn sẽ thấy rằng Access truy vấn xuất những giá trị thiết lập nhưng đã chuyển đổi các giá trị này thành văn bản. Bạn cũng có thể biết đó là giá trị văn bản vì được căn trái sống dạng coi biểu dữ liệu. Chuỗi trống trong truy vấn vấn trước tiên không nên là số là vì bạn thấy các kết quả này. Bạn cũng trở thành nhận thấy rằng những giá trị bán cũng được thay đổi thành văn phiên bản vì các bạn dạng ghi mua gồm chứa chuỗi trống.

ID Sản phẩm

Ngày đặt hàng

Tên công ty

Giao dịch

Mua

Bán

74

Nhà hỗ trợ B

Mua

31

77

Nhà cung cấp B

Mua

60

80

Nhà cung ứng D

Mua

75

81

Nhà cung ứng A

Mua

125

81

Nhà hỗ trợ A

Mua

200

7

Công ty D

Bán

10

51

Công ty D

Bán

10

80

Công ty D

Bán

10

34

Công ty AA

Bán

100

80

Công ty AA

Bán

25

Vật thì bạn xử lý vấn đề này như vậy nào?

Giải pháp là buộc truy vấn có giá trị trường là một số. Điều đó hoàn toàn có thể được triển khai bằng biểu thức:

IIf(False, 0, Null) Điều kiện để kiểm tra, False, sẽ không lúc nào là True, cho nên vì vậy biểu thức sẽ luôn trả về Null tuy nhiên Access vẫn đánh ngân sách hai tùy chọn cổng output và đưa ra quyết định đầu ra là số hoặc Null.

Đây là cách chúng ta có thể sử dụng biểu thức này trong ví dụ hoạt động vui chơi của mình:

SELECT , , , , IIf(False, 0, Null) As Buy, As SellFROM UNIONSELECT , , , , As Buy, Null As SellFROM ORDER BY DESC; để ý rằng không quan trọng sửa đổi truy vấn máy hai.

Nếu bạn chuyển đổi sang dạng xem biểu dữ liệu, thời gian này các bạn sẽ thấy kết quả mà bọn họ mong muốn:

ID Sản phẩm

Ngày đặt hàng

Tên công ty

Giao dịch

Mua

Bán

74

Nhà cung ứng B

Mua

31

77

Nhà cung ứng B

Mua

60

80

Nhà cung ứng D

Mua

75

81

Nhà cung ứng A

Mua

125

81

Nhà cung ứng A

Mua

200

7

Công ty D

Bán

10

51

Công ty D

Bán

10

80

Công ty D

Bán

10

34

Công ty AA

Bán

100

80

Công ty AA

Bán

25

Phương pháp sửa chữa thay thế để có được cùng một kết quả là thêm các truy vấn trong truy tìm vấn hợp với một truy tìm vấn khác:

SELECT 0 As , Date() As , "" As , "" As , 0 As Buy, 0 As SellFROM WHERE False Đối với từng trường, Access trả về các giá trị cố định của loại dữ liệu bạn xác định. Vớ nhiên, bạn không thích đầu ra của truy tìm vấn này làm khó đến kết quả, vì vậy bí kíp nhằm tránh vấn đề này là sản xuất mệnh đề WHERE thành False:

WHERE False Đây là 1 trong bí kíp bé dại vì tác dụng luôn là false và sau đó truy vấn ko trả về ngẫu nhiên giá trị nào. Phối kết hợp câu lệnh này với SQL hiện tất cả và chúng ta có được câu lệnh được chấm dứt như sau:

SELECT 0 As , Date() As , "" As , "" As , 0 As Buy, 0 As SellFROM WHERE FalseUNIONSELECT , , , , Null As Buy, As SellFROM UNIONSELECT , , , , As Buy, Null As SellFROM ORDER BY DESC;
Lưu ý: Truy vấn đã phối hợp ở phía trên trong lấy một ví dụ này thực hiện cơ sở tài liệu Northwind trả về 100 bạn dạng ghi, trong lúc hai tầm nã vấn đơn nhất trả về 58 với 43 bạn dạng ghi có tổng số là 101 bạn dạng ghi. Vì sao về sự ko thống độc nhất này nguyên nhân là hai bản ghi không hẳn là duy nhất. Hãy xem mục, làm việc với các bạn dạng ghi hiếm hoi trong truy nã vấn hợp bởi UNION ALL, để tìm hiểu cách để giải quyết kịch phiên bản này bằng cách sử dụng UNION ALL.


Một trường hợp đặc biệt quan trọng về truy hỏi vấn đúng theo là kết hợp một bộ các phiên bản ghi bao gồm một bạn dạng ghi cất tổng của một hoặc nhiều trường.

Đây là một ví dụ khác mà bạn có thể tạo vào cơ sở tài liệu mẫu Northwind nhằm minh họa cách nhận tổng trong truy vấn hợp.

Tạo một tầm nã vấn đơn giản dễ dàng mới giúp xem phần sở hữu bia (ID Sản phẩm=34 vào cơ sở tài liệu Northwind) bởi cú pháp SQL sau đây:

SELECT ., .QuantityFROM WHERE (((.)=34))ORDER BY .; chuyển đổi sang dạng coi biểu tài liệu và bạn sẽ thấy bốn thành phầm mua:

Ngày nhận

Số lượng

100

60

50

300

Để dành được tổng, tạo ra một truy vấn vấn tổng hợp đơn giản dễ dàng bằng SQL sau đây:

SELECT Max(), Sum() AS SumOfQuantityFROM WHERE (((.)=34)) thay đổi sang dạng xem biểu dữ liệu và các bạn sẽ chỉ thấy một bạn dạng ghi:

Ngày nhận_tối_đa

Tổng_số_lượng

510

Kết hòa hợp hai tầm nã vấn này vào một truy vấn vừa lòng để chắp thêm phiên bản ghi có số lượng tổng vào các bạn dạng ghi mua:

SELECT ., .QuantityFROM WHERE (((.)=34))UNIONSELECT Max(), Sum() AS SumOfQuantityFROM WHERE (((.)=34))ORDER BY .; đổi khác sang dạng xem biểu dữ liệu và các bạn sẽ thấy bốn thành phầm mua bao gồm tổng của từng thành phầm kèm theo là một bạn dạng ghi tính tổng cộng lượng:

Ngày nhận

Số lượng

60

100

50

300

510

Bài viết kia đề cập đến các thông tin cơ bạn dạng về phương pháp thêm tổng vào một trong những truy vấn hợp. Bạn cũng có thể cũng mong mỏi đưa vào các giá trị thắt chặt và cố định trong cả nhị truy vấn chẳng hạn như “Chi tiết” cùng “Tổng” nhằm phân tách trực quan phiên bản ghi tổng từ các bản ghi khác. Chúng ta có thể xem lại những giá trị cố định đang thực hiện trong mục phối kết hợp ba hoặc các bảng hoặc truy hỏi vấn trong tầm nã vấn hợp.


Các truy nã vấn đúng theo trong Access theo khoác định chỉ bao gồm các bản ghi riêng rẽ biệt. Tuy thế điều gì sẽ xảy ra nếu bạn có nhu cầu bao tất cả tất cả phiên bản ghi? Một ví dụ như khác rất có thể hữu ích nghỉ ngơi đây.

Trong mục trước đó, công ty chúng tôi đã chỉ cho mình cách tạo thành tổng trong truy vấn hợp. Sửa đổi truy vấn thích hợp SQL đó để có ID Sản phẩm= 48:

SELECT ., .QuantityFROM WHERE (((.)=48))UNIONSELECT Max(), Sum() AS SumOfQuantityFROM WHERE (((.)=48))ORDER BY .; biến hóa sang dạng coi biểu tài liệu và bạn sẽ thấy công dụng hơi sai không giống một chút:

Ngày nhận

Số lượng

100

200

Dĩ nhiên, một bản ghi sẽ không trả về nhì lần số lượng tổng.

Lý do các bạn thấy tác dụng này là vì trong một ngày cùng một lượng sôcôla đã được buôn bán hai lần - như được lưu lại trong bảng cụ thể đơn để hàng. Đây là hiệu quả truy vấn chọn đơn giản hiển thị cả hai bạn dạng ghi vào cơ sở dữ liệu mẫu Northwind:

ID Đơn để hàng

Product

Quantity

100

Northwind Traders Chocolate

100

92

Northwind Traders Chocolate

100

Trong truy nã vấn vừa lòng được chú thích trước, chúng ta có thể thấy rằng trường ID Đơn sản phẩm không được gửi vào cùng hai ngôi trường không chế tác thành hai bản ghi riêng biệt.

Nếu bạn có nhu cầu đưa tất cả bạn dạng ghi vào, hãy sử dụng UNION ALL thay do UNION trong SQL của mình. Điều này nhà yếu có thể sẽ gây tác động về việc thu xếp kết quả, vị vậy bạn cũng có thể cũng ao ước đưa vào mệnh đề ORDER BY để khẳng định thứ tự sắp xếp. Đây là cách dựng SQL đang sửa đổi từ ví dụ như trước đó:

SELECT ., Null As , .QuantityFROM WHERE (((.)=48))UNION ALLSELECT Max(), "Total" As , Sum() AS SumOfQuantityFROM WHERE (((.)=48))ORDER BY ; chuyển đổi sang dạng xem biểu tài liệu và bạn sẽ thấy toàn bộ các chi tiết ngoài tổng dưới dạng bạn dạng ghi cuối cùng:

Ngày nhận

Tổng

Số lượng

100

100

Tổng cộng

200


Mức sử dụng thịnh hành về tầm nã vấn hợp vào vai trò là nguồn bản ghi cho tinh chỉnh và điều khiển hộp tổ hợp trên biểu mẫu. Chúng ta cũng có thể sử dụng hộp tổ hợp đó để lựa chọn 1 giá trị buộc phải lọc các bạn dạng ghi của biểu mẫu. Ví dụ: lọc bạn dạng ghi nhân viên cấp dưới theo thành phố.

Để xem bí quyết hoạt động, đó là một ví dụ khác mà chúng ta có thể tạo vào cơ sở dữ liệu mẫu Northwind để minh họa kịch bản này.

Tạo truy nã vấn chọn dễ dàng và đơn giản bằng cú pháp SQL này:

SELECT Employees.City, Employees.City AS FilterFROM Employees; biến đổi sang dạng coi biểu tài liệu và các bạn sẽ thấy công dụng như sau:

Thành phố

Bộ lọc

Seattle

Seattle

Bellevue

Bellevue

Redmond

Redmond

Kirkland

Kirkland

Seattle

Seattle

Redmond

Redmond

Seattle

Seattle

Redmond

Redmond

Seattle

Seattle

Đang coi các kết quả mà chúng ta cũng có thể không thấy nhiều giá trị. Bung rộng lớn truy vấn toàn thể và thay đổi thành truy hỏi vấn hợp bằng phương pháp sử dụng SQL sau đây:

SELECT Employees.City, Employees.City AS FilterFROM EmployeesUNIONSELECT "", "*" AS FilterFROM EmployeesORDER BY City; biến đổi sang dạng xem biểu dữ liệu và các bạn sẽ thấy tác dụng như sau:

Thành phố

Bộ lọc

*

Bellevue

Bellevue

Kirkland

Kirkland

Redmond

Redmond

Seattle

Seattle

Access đang thực hiện phối hợp chín phiên bản ghi, được hiển thị trước đó, có các giá trị thắt chặt và cố định là với "*".

Vì mệnh đề phối hợp này không đựng UNION ALL, Access đã chỉ trả về các phiên bản ghi cá biệt có tức là từng tp được trả về duy nhất lần với những giá trị cố định giống nhau.

Xem thêm: Ý Nghĩa Tên Gia, Đặt Tên Cho Con Nguyễn Gia Bảo 50/100 Điểm Trung Bình

Lúc này, các bạn có một truy vấn vấn đúng theo đã xong xuôi hiển thị mỗi tên thành phố chỉ một lần, cùng với một tùy lựa chọn sẽ chọn tất cả các thành phố một bí quyết hiệu quả, chúng ta có thể sử dụng truy nã vấn này làm nguồn phiên bản ghi đến hộp tổ hợp trên biểu mẫu. áp dụng ví dụ rõ ràng này làm mô hình, bạn có thể tạo điều khiển hộp tổng hợp trên biểu mẫu, để truy vấn này làm nguồn phiên bản ghi, đặt thuộc tính Column Width của Cột cỗ lọc thành 0 (số không) để ẩn một bí quyết trực quan, rồi để thuộc tính Bound Column thành 1 để chỉ báo những chỉ mục của cột thứ hai. Trong thuộc tính Filter của phiên bản thân biểu mẫu, chúng ta có thể thêm vào mã chẳng hạn như mã dưới đây để kích hoạt cỗ lọc biểu mẫu bằng giá trị của những gì vẫn được chọn trong điều khiển và tinh chỉnh hộp tổ hợp:

Me.Filter = " like "" và Me!.Value & """Me.FilterOn = True Sau đó, người tiêu dùng của biểu mẫu rất có thể lọc các bạn dạng ghi biểu chủng loại thành tên thành phố cụ thể hoặc chọn nhằm liệt kê tất cả bạn dạng ghi cho toàn bộ thành phố.