Truy Vấn Dữ Liệu Sql

      30
Access đến thietkewebhcm.com.vn 365 Access 2021 Access 2019 Access năm nhâm thìn 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 ghi trong một bảng hoặc truy tìm vấn cùng với những bạn dạng ghi vào một hoặc những bảng không giống để hiện ra một bộ nhiều bạn dạng ghi - list gồm toàn bộ các bản ghi từ nhì hoặc nhiều bảng. Đây là mục đích của một tầm nã vấn hòa hợp trong Access.

Bạn đang xem: Truy vấn dữ liệu sql

Để hiểu truy vấn vừa lòng một bí quyết hiệu quả, trước tiên bạn sẽ làm quen thuộc với việc kiến tạo truy vấn lựa chọn cơ phiên bản trong Access. Để tham khảo thêm thông tin về xây dựng truy vấn chọn, hãy xem mục sản xuất truy vấn chọn đối chọi giản.


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


Nghiên cứu giúp ví dụ truy vấn đúng theo hoạt động

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

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

Truy vấn hợp rất dễ dàng phân biệt cùng với các đối tượng người tiêu dùng truy vấn khác vày có hình tượng đặc biệt hệt như hai vòng tròn cuộn vào nhau thay mặt cho một bộ liên kết từ nhì bộ:

*

Không giống như truy vấn chọn và hành động thông thường, các bảng không tương quan nhau trong truy hỏi vấn hợp, tức là không thể thực hiện trình kiến thiết truy vấn giao diện Access để phát hành hoặc chỉnh sửa truy vấn hợp. Các bạn sẽ gặp vụ việc này nếu như mở một truy vấn vấn vừa lòng từ chống dẫn hướng; Access đang mở tầm nã vấn và hiển thị hiệu quả ở dạng coi biểu dữ liệu. 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 sẵn sử dụng khi làm việc với truy nã vấn hợp. Bạn chỉ có thể biến hóa giữa Dạng coi biểu dữ liệuDạng xem SQL khi làm việc với truy tìm vấn hợp.

Để liên tục nghiên cứu về lấy ví dụ như truy vấn hòa hợp này, hãy bấm chuột Trang đầu > Dạng xem > Dạng xem SQL giúp xem cú pháp SQL xác định truy vấn. Vào hình minh họa này, chúng ta đã thêm một vài giãn giải pháp thừa vào SQL để bạn có thể dễ dàng thấy phần lớn khác nhau làm cho một truy nã vấn hợp.



Hãy cùng nghiên cứu cụ thể cú pháp SQL của truy vấn vấn hòa hợp này từ cơ sở dữ liệu Northwind:

SELECT , , , , FROM UNIONSELECT , , , , FROM ORDER BY DESC; Phần đầu tiên và phần thứ ba của câu lệnh SQL này cơ phiên bản là nhị truy vấn chọn. Những truy vấn này truy nã xuất hai bộ bạn dạng ghi không giống nhau; một từ bảng Đơn hàng sản phẩm và một từ bỏ bảng tải sản phẩm.

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

Phần cuối cùng của câu lệnh SQL này xác minh thứ trường đoản cú của các bản ghi được kết hợp bằng cách sử dụng câu lệnh ORDER BY. Trong lấy một ví dụ này, Access sẽ xếp thứ tự vớ cả phiên bản ghi theo trường Ngày mua hàng theo thứ tự giảm dần.


Lưu ý: Truy vấn hợp luôn ở tinh thần chỉ đọc trong Access; chúng ta không thể nuốm đổi bất kỳ giá trị nào ở dạng coi biểu dữ liệu.


Tạo một tầm nã vấn hợp bằng phương pháp tạo và kết hợp các truy vấn vấn chọn

Ngay cả khi rất có thể tạo truy nã vấn hợp bằng cách viết trực tiếp cú pháp SQL sống dạng coi SQL, chúng ta cũng có thể thấy thuận tiện hơn khi xây dựng truy vấn một vài phần với truy tìm vấn chọn. Sau đó, bạn có thể sao chép với dán những phần SQL vào trong 1 truy vấn hợp đã kết hợp.

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

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

Bấm lưu ban vào bảng có những trường mà bạn muốn đưa vào. Thêm bảng vào cửa ngõ sổ xây đắp truy vấn.

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

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

Sau khi đã hoàn tất việc thêm trường và tiêu chí trường, chúng ta nên chạy truy tìm vấn lựa chọn và xem lại áp ra output của truy hỏi vấn đó. Bên trên tab Thiết kế, trong team Kết quả, nhấn vào Chạy.

Chuyển truy vấn vấn quý phái dạng coi Thiết kế.

Lưu tróc nã vấn chọn và nhằm truy vấn mở.

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

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

Trên tab Tạo, trong đội Truy vấn, bấm Thiết kế truy hỏi vấn.

Trên tab Thiết kế, trong team Truy vấn, bấm vào Kết hợp. Access ẩn cửa ngõ sổ xây dự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 dùng dạng coi SQL là trống.

Hãy nhấn vào tab đến truy vấn chọn đầu tiên mà bạn có nhu cầu kết phù hợp trong truy vấn vấn hợp.

Trên tab Trang đầu, bấm vào Dạng xem > Dạng xem SQL.

Sao chép câu lệnh SQL mang đến truy vấn chọn. Bấm vào tab dành cho truy vấn hợp chúng ta đã 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 xem SQL của truy hỏi vấn hợp.

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

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

Hãy bấm vào tab đến truy vấn chọn tiếp theo sau mà bạn có nhu cầu kết thích hợp trong tầm nã vấn hợp.

Lặp lại từ cách 5 tới bước 10 cho tới khi bạn đã sao chép với dán tất cả câu lệnh SQL đến truy vấn chọn vào trong cửa sổ dạng xem SQL của truy hỏi vấn hợp. Không xóa khỏi dấu chấm phẩy hoặc nhập bất kể ký từ gì sau câu lệnh SQL cho 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 nã vấn đúng theo sẽ lộ diện ở Dạng coi biểu dữ liệu.

Xem ví dụ về phong thái dựng truy nã vấn hợp

Đây là ví dụ chúng ta có thể tạo lại trong cơ sở tài liệu mẫu Northwind. Tróc nã vấn vừa lòng này thu thập tên fan từ bảng quý khách và kết phù hợp với tên tín đồ từ bảng nhà 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 sao cơ sở tài liệu mẫu Northwind của mình.



Đây là hầu như bước quan trọng để xây dựng ví dụ này:

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

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

Sao chép và dán những câu lệnh SQL từ truy vấn_1 và Truy vấn_2 vào truy vấn vấn_3. Đảm bảo loại bỏ dấu chấm phẩy quá và cung ứng từ khóa UNION. Sau đó, chúng ta có thể kiểm tra tác dụng của mình nghỉ ngơi dạng coi biểu dữ liệu.

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

SQL cuối cùng sẽ phối kết hợp và sắp tới xếp những tên cần sử dụng cho ví dụ truy vấn phù hợp 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 đơn giản 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 rẽ mình mang đến truy vấn thích hợp vào dạng coi SQL. Mặc dù nhiên, bạn có thể thấy có lợi khi làm cho theo phương thức tiếp cận về xào luộc và dán SQL từ bỏ các đối tượng truy vấn khác. Từng truy tìm vấn rất có thể phức tạp hơn nhiều so với các ví dụ truy vấn chọn dễ dàng và đơn giản được áp 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à khám nghiệm từng truy vấn vấn một cách cẩn trọng trước khi kết hợp các tầm nã vấn trong truy vấn vấn hợp. Ví như truy vấn phù hợp không chạy, bạn có thể điều chỉnh từng tầm nã vấn riêng rẽ lẻ cho tới khi thành công, rồi thiết kế lại truy nã vấn hợp của chính mình bằng cú pháp đúng.

Xem lại các mục còn sót lại của bài viết này để bài viết liên quan các mẹo và túng bấn kíp về cách sử dụng tróc nã vấn hợp.


Trong ví dụ ngơi nghỉ mục trước đó thực hiện cơ sở tài liệu Northwind, chỉ kết hợp được tài liệu từ hai bảng. Tuy nhiên, chúng ta cũng có thể kết hợp cha hoặc nhiều bảng rất dễ dàng trong một truy nã vấn hợp. Ví dụ: dựng trên ví dụ như trước, bạn có thể cũng ý muốn kèm theo tên của nhân viên trong áp ra output truy vấn. Bạn có thể thực hiện tại tác vụ đó bằng cách thêm một truy vấn thứ cha và kết phù hợp với câu lệnh SQL trước đó với tự khóa UNION bổ sung như vậy này:

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

Xem thêm: Hướng Dẫn Cách Hiện Đường Căn Lề Trong Word 2007, Cách Hiện Khung Căn Lề Trong Word

, Suppliers.FROM SuppliersUNIONSELECT Employees.Company, Employees., Employees.FROM EmployeesORDER BY , ; khi chúng ta xem công dụng ở dạng coi biểu dữ liệu, tất cả nhân viên sẽ được liệt kê cùng tên công ty mẫu, vốn hoàn toàn có thể không đề nghị rất hữu ích. Nếu bạn có nhu cầu trường đó cho thấy một người là nhân viên cấp dưới nội bộ, trường đoản cú nhà cung cấp hoặc từ khách hàng, chúng ta cũng có thể đưa vào giá trị thắt chặt và cố định thay mang đến tên công ty. Đây là giao diện 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 tác dụng sẽ xuất hiện thêm ở dạng xem biểu dữ liệu. Access sẽ hiển thị năm bạn dạng ghi lấy một ví dụ 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 nữa vì Access chỉ đọc tên của trường cổng đầu ra từ truy nã vấn thứ nhất trong tầm nã vấn hợp. Trên đây, chúng ta thấy họ đã đào thải đầu ra khỏi các mục truy vấn vấn máy hai với thứ ba:

SELECT "Customer" As Employment, , FROM CustomersUNIONSELECT "Supplier", , FROM SuppliersUNIONSELECT "In-house", , FROM EmployeesORDER BY , ;
Trong truy tìm vấn vừa lòng Access, chỉ có thể chấp nhận được xếp sản phẩm tự một lần tuy thế từng truy vấn vấn rất có thể được lọc riêng biệt. Câu hỏi dựng trên tầm nã vấn hợp của mục trước, dưới đó là ví dụ về vị trí họ đã thanh lọc từng truy 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 city = "Seattle"ORDER BY , ; biến đổi sang dạng coi biểu dữ liệu và bạn sẽ thấy công dụng 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 buộc phải kết hợp đều rất khác nhau, bạn cũng có thể gặp nên một tình huống là trường áp ra output phải kết hợp dữ liệu của các loại tài liệu khác nhau. Nếu vậy, truy nã vấn hợp phần nhiều thường đang trả về kết quả dưới dạng loại dữ liệu văn bản do nhiều loại dữ liệu rất có thể lưu giữ cả văn bạn dạng và số.

Để khám phá cách truy vấn vấn này hoạt động, bọn họ sẽ thực hiện truy vấn hợp Giao dịch thành phầm trong cơ sở tài liệu mẫu Northwind. Mở cơ sở tài liệu mẫu đó, rồi mở truy nã vấn Giao dịch thành phầm ở dạng coi biểu dữ liệu. Mười bản ghi cuối cùng phải tương tự như áp ra output 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 ứng 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 số lượng chia tách vào nhị - sở hữu và Bán. Cũng hãy đưa định rằng bạn có nhu cầu có quý hiếm số không thắt chặt và cố định cho trường không tồn tại giá trị. Đây là bối cảnh của SQL so với truy vấn vừa lòng này:

SELECT , , , , 0 As Buy, As SellFROM UNIONSELECT , , , , As Buy, 0 As SellFROM ORDER BY DESC;  nếu như bạn biến hóa sang dạng coi biểu dữ liệu, các bạn sẽ thấy mười bạn dạng ghi cuối cùng giờ đâ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à cung cấp B

Mua

31

0

77

Nhà hỗ trợ B

Mua

60

0

80

Nhà hỗ trợ D

Mua

75

0

81

Nhà cung ứng 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 muốn các trường tất cả số không là trống? bạn cũng có thể sửa thay đổi SQL để không hiển thị gì thay bởi số không bằng phương pháp thêm từ bỏ 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ó thể quan gần kề việc thay đổi sang dạng coi biểu dữ liệu, lúc này bạn đã có một hiệu quả không ước ao muốn. Vào cột Mua, từng trường hầu như bị xóa:

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

77

Nhà cung cấp B

Mua

80

Nhà cung cấp D

Mua

81

Nhà cung ứng A

Mua

81

Nhà cung cấp 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ý bởi mà điều này xảy ra nguyên nhân là Access xác định loại dữ liệu của các trường từ truy nã vấn đầu tiên. Trong ví dụ như này, Null không phải là một trong những số.

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

SELECT , , , , "" As Buy, As SellFROM UNIONSELECT , , , , As Buy, "" As SellFROM ORDER BY DESC; lúc bạn biến đổi sang dạng coi biểu dữ liệu, bạn sẽ thấy rằng Access truy nã xuất các giá trị cài nhưng đã chuyển đổi các quý giá này thành văn bản. Bạn có thể biết đây là giá trị văn bản vì được căn trái nghỉ ngơi dạng coi biểu dữ liệu. Chuỗi trống trong truy nã vấn trước tiên không buộc phải là số là vì chúng ta thấy các công dụng này. Bạn cũng trở thành nhận thấy rằng các giá trị bán cũng được biến đổi thành văn bản vì các bản ghi mua có 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à cung cấp B

Mua

31

77

Nhà cung cấp B

Mua

60

80

Nhà cung cấp D

Mua

75

81

Nhà cung cấp A

Mua

125

81

Nhà cung cấp 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 giải quyết vấn đề này như thế nào?

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

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

Đây là cách bạn cũng 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; lưu ý rằng không cần thiết sửa thay đổi truy vấn sản phẩm hai.

Nếu bạn chuyển đổi sang dạng xem biểu dữ liệu, cơ hội này các bạn sẽ thấy công dụng 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 cấp B

Mua

31

77

Nhà cung cấp B

Mua

60

80

Nhà hỗ trợ D

Mua

75

81

Nhà cung ứng A

Mua

125

81

Nhà cung cấp 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 thay thế sửa chữa để đã có được cùng một hiệu quả là thêm các truy vấn trong truy nã vấn hợp với một tầm nã 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ề những giá trị cố định của loại dữ liệu bạn xác định. Tất nhiên, bạn không thích đầu ra của truy vấn này gây cản trở đến kết quả, cho nên vì thế bí kíp nhằm tránh vấn đề đó là tiếp tế mệnh đề WHERE thành False:

WHERE False Đây là một trong bí kíp bé dại vì công dụng luôn là false và tiếp đến truy vấn ko trả về bất kỳ giá trị nào. Kết hợp câu lệnh này với SQL hiện có và bọn họ 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 kết hợp ở đây trong ví dụ như này thực hiện cơ sở dữ liệu Northwind trả về 100 bạn dạng ghi, trong lúc hai truy nã vấn hiếm hoi trả về 58 với 43 bạn dạng ghi có tổng cộng là 101 phiên bản ghi. Vì sao về sự ko thống độc nhất này nguyên nhân là hai phiên bản ghi không phải là duy nhất. Hãy coi mục, thao tác với các bản ghi hiếm hoi trong truy vấn hợp bằng UNION ALL, nhằm tìm hiểu phương pháp để giải quyết kịch bạn dạng này bằng phương pháp sử dụng UNION ALL.


Một trường hợp đặc biệt về truy nã vấn phù hợp là phối hợp một bộ các bạn dạng ghi gồm một phiên bản ghi chứa tổng của một hoặc những trường.

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

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

SELECT ., .QuantityFROM WHERE (((.)=34))ORDER BY .; biến hóa sang dạng xem biểu dữ liệu và các bạn sẽ thấy bốn sản phẩm mua:

Ngày nhận

Số lượng

100

60

50

300

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

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

Ngày nhận_tối_đa

Tổng_số_lượng

510

Kết hòa hợp hai truy vấn vấn này vào một truy vấn phù hợp để lẹo thêm bản ghi có con số 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 .; thay đổi sang dạng xem biểu tài liệu và các bạn sẽ thấy bốn thành phầm mua tất cả 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 số lượng:

Ngày nhận

Số lượng

60

100

50

300

510

Bài viết đó đề cập tới những thông tin cơ phiên bản về phương pháp thêm tổng vào một truy vấn hợp. Bạn cũng có thể cũng ý muốn đưa vào các giá trị thắt chặt và cố định trong cả nhì truy vấn ví dụ như “Chi tiết” và “Tổng” để phân bóc trực quan phiên bản ghi tổng tự các bản ghi khác. Chúng ta cũng có thể xem lại những giá trị cố định và thắt chặt đang sử dụng trong mục kết hợp ba hoặc nhiều bảng hoặc truy tìm vấn trong truy hỏi vấn hợp.


Các truy hỏi vấn hòa hợp trong Access theo mặc định chỉ bao gồm các bản ghi riêng biệt. Dẫu vậy điều gì sẽ xẩy ra nếu bạn muốn bao gồm tất cả bạn dạng ghi? Một lấy một ví dụ khác có thể hữu ích sinh sống đây.

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

SELECT ., .QuantityFROM WHERE (((.)=48))UNIONSELECT Max(), Sum() AS SumOfQuantityFROM WHERE (((.)=48))ORDER BY .; thay đổi sang dạng xem biểu tài liệu và bạn sẽ thấy kết quả hơi sai khác một chút:

Ngày nhận

Số lượng

100

200

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

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

ID Đơn đặt hàng

Product

Quantity

100

Northwind Traders Chocolate

100

92

Northwind Traders Chocolate

100

Trong truy vấn hợp được chú thích trước, bạn có thể thấy rằng ngôi trường ID Đơn hàng không được đưa vào cùng hai ngôi trường không chế tạo ra thành hai bản ghi riêng rẽ biệt.

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

SELECT ., Null As , .QuantityFROM WHERE (((.)=48))UNION ALLSELECT Max(), "Total" As , Sum() AS SumOfQuantityFROM WHERE (((.)=48))ORDER BY ; biến hóa sang dạng coi biểu tài liệu và các bạn sẽ thấy toàn bộ các cụ thể ngoài tổng dưới dạng bản 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ông dụng về truy vấn hợp đóng vai trò là nguồn phiên bản ghi cho tinh chỉnh hộp tổ hợp trên biểu mẫu. Bạn có thể sử dụng hộp tổng hợp đó để chọn 1 giá trị đề nghị lọc các bạn dạng ghi của biểu mẫu. Ví dụ: lọc bản ghi nhân viên theo thành phố.

Để xem giải pháp hoạt động, đấy là một ví dụ không giống mà bạn cũng có thể tạo trong cơ sở dữ liệu mẫu Northwind nhằm minh họa kịch phiên bản này.

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

SELECT Employees.City, Employees.City AS FilterFROM Employees; biến hóa sang dạng xem biểu tài liệu và 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 hiệu quả mà bạn có thể không thấy nhiều giá trị. Bung rộng lớn truy vấn toàn bộ và đổi khác thành truy nã vấn hợp bằng cách sử dụng SQL sau đây:

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

Thành phố

Bộ lọc

*

Bellevue

Bellevue

Kirkland

Kirkland

Redmond

Redmond

Seattle

Seattle

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

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

Lúc này, các bạn có một truy vấn vấn thích hợp đã kết thúc hiển thị mỗi tên tp chỉ một lần, với một tùy lựa chọn sẽ chọn toàn bộ các thành phố một giải pháp hiệu quả, bạn cũng có thể sử dụng truy tìm vấn này làm cho nguồn bản ghi cho hộp tổng hợp trên biểu mẫu. áp dụng ví dụ ví dụ này có tác dụng mô hình, bạn có thể tạo tinh chỉnh hộp tổ hợp trên biểu mẫu, để truy vấn này có tác dụng nguồn phiên bản ghi, đặt thuộc tính Column Width của Cột bộ 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 nhằm chỉ báo những chỉ mục của cột vật dụng hai. Trong nằm trong 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ã ví dụ như mã sau đây để kích hoạt cỗ lọc biểu mẫu bằng giá trị của rất nhiều gì đang được lựa chọn trong điều khiển hộp tổ hợp:

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

hotlive |

Hi88