ตัวอย่างการใช้ประโยชน์จากการกำหนด Join Property ใน Microsoft Access

ตัวอย่างการใช้ประโยชน์จากการกำหนด Join Property ใน Microsoft Access
โดยปกติแล้ว หากเราสร้างความสัมพันธ์ระหว่างตารางไว้แล้วตั้งแต่เริ่มแรก ดังตัวอย่าง
ซึ่งจากความสัมพันธ์ระหว่างตาราง จะเห็นว่า ฐานข้อมูลนี้เป็นฐานข้อมูลเกี่ยวกับการสั่งซื้อสินค้า
ทั้งนี้สังเกตได้จากรายการฟิลด์ในตาราง Orders และ OrderDetails
ลองพิจารณาที่ตาราง Orders จะเห็นว่ามีฟิลด์ CustomerID อยู่ นั่นหมายความว่า มีรหัสลูกค้าใดบ้างที่ได้มีรายการสั่งซื้อ
ทั้งนี้รายละเอียดของรหัสลูกค้านั้น ๆ สามารถดูได้ที่ตาราง Customers
ดังนั้น ถ้าต้องการทราบว่า บริษัทใดบ้างที่สั่งซื้อสินค้าไปแล้ว
สามารถสร้าง Select Query ได้ดัง Design View

ลองสังเกตที่เส้นความสัมพันธ์ ซึ่งจะ Default มาให้เลย เนื่องจากมีการสร้างความสัมพันธ์ระหว่างตารางไว้ตั้งแต่แรกแล้ว
หากลองคลิกขวาที่เส้นความสัมพันธ์ แล้ว คลิก Join Properties
จะเห็นหน้าต่าง Join Property แสดงขึ้นมา ดังรูป

จะเห็นว่า เป็นความสัมพันธ์ประเภทที่ 1
Only include rows where the joined fields from both tables are equal.
หมายถึงให้แสดงเฉพาะรายการ CustomerID ที่ตรงกันระหว่าง 2 ตาราง
นั่นคือ ข้อมูลจะแสดงเฉพาะรายการลูกค้าที่สั่งซื้อสินค้าแล้วเท่านั้น
ผลลัพธ์ที่ออกมาจะมี 830 รายการ ดังรูป

แต่ถ้าเราต้องการทราบว่า มีลูกค้าบริษัทใดบ้างใน ตาราง Customer ที่ยังไม่เคยสั่งซื้อสินค้าเลย
เราสามารถเปลี่ยนประเภทความสัมพันธ์เป็นประเภทที่ 2
Include ALL records from 'Customers' and only those records from 'Orders' where the joined fields are equal

ผลลัพธ์ที่ได้เป็นดังนี้

ผลลัพธ์ที่ได้จาการกำหนด Join Properties เป็นแบบ
Include ALL records from 'Customers' and only those records from 'Orders' where the joined fields are equal
จะเห็นข้อมูลที่แสดงออกมามีทั้งหมด 832 รายการ จะเห็นว่ามากกว่าการ Join ประเภท 1 จำนวน 2 รายการด้วยกัน
ซึ่งก็ยังค้นหายากอยู่ดีว่ามีรายการลูกค้าบริษัทใดที่ยังไม่ได้สั่งซื้อ
ดังนั้น ต้องลอง Criteria ข้อมูลเพิ่มเติม
หากลูกค้าใดยังไม่ได้สั่งซื้อสินค้า แสดงว่า ต้องไม่มีรายการ OrderID ของลูกค้านั้น ๆ
จึงต้อง Criteria ให้ ข้อมูลออกมาเฉพาะ รายการ OrderID ที่เป็นค่าว่าง (Null)
โดยกำหนดว่า Is Null ดังรูป

หลังจากนั้น ลองดูข้อมูล จะพบว่า
มีลูกค้าที่ยังไม่ได้สั่งซื้อสินค้า 2 บริษัท เนื่องจากไม่มีรายการ OrderID ดังรูป

จากตัวอย่างที่แสดงให้ดู เป็นการหาผลต่างของข้อมูลที่มีในตารางหนึ่ง แต่ไม่มีในอีกตารางหนึ่งนั่นเองค่ะ
อย่างไรลองไปประยุกต์ใช้กับข้อมูลที่มีอยู่ดูนะคะ