เมื่อคุณรวมแหล่งข้อมูลหลายแหล่งในคิวรี Access คุณจะใช้การรวมเพื่อจํากัดระเบียนที่คุณต้องการดู โดยยึดตามว่าแหล่งข้อมูลต่างๆ เกี่ยวข้องกันอย่างไร คุณยังสามารถใช้การรวมเพื่อรวมระเบียนจากแหล่งข้อมูลทั้งสอง เพื่อให้ระเบียนแต่ละคู่จากแหล่งข้อมูลกลายเป็นระเบียนเดียวในผลลัพธ์คิวรี
บทความนี้อธิบายถึงการรวมชนิดต่างๆ และแสดงวิธีใช้ในคิวรี ตามค่าเริ่มต้น การรวมจะถูกสร้างขึ้นโดยอัตโนมัติถ้ามีความสัมพันธ์ระหว่างแหล่งข้อมูลสองแห่งที่คุณใช้ในคิวรีอยู่แล้ว การรวมจะถูกสร้างขึ้นถ้ามีเขตข้อมูลที่สอดคล้องกันอย่างชัดเจน คุณสามารถลบการรวมที่สร้างขึ้นโดยอัตโนมัติได้ บทความนี้มีข้อมูลพื้นฐานเกี่ยวกับความสัมพันธ์ของตาราง รวมถึงวิธีการสร้าง
หมายเหตุ
คุณสามารถรวมคิวรีด้วยวิธีเดียวกับที่คุณรวมตาราง และยังสามารถรวมทั้งสองอย่างได้ด้วย
ในบทความนี้
- ภาพรวม
- ชนิดของการรวม
- แสดงแถวที่มีค่าร่วมกันอยู่ในทั้งสองตารางที่ถูกรวม
- แสดงแถวทั้งหมดจากตารางหนึ่ง และแถวที่สอดคล้องกันจากตารางอื่น
- แสดงแถวทั้งหมดจากทั้งสองตาราง และรวมแถวเหล่านี้ในที่ที่มีค่าเหมือนกัน
- การเชื่อมแบบข้าม
- รวมตารางต่างๆ โดยยึดตามความไม่เท่าเทียมกันของค่าในเขตข้อมูล
- ลบการรวม
ภาพรวม
ฐานข้อมูลคือคอลเลกชันของตารางข้อมูลที่มีความสัมพันธ์เชิงตรรกะซึ่งกันและกัน คุณใช้ความสัมพันธ์เพื่อเชื่อมต่อตารางตามเขตข้อมูลที่มีเหมือนกัน ตารางหนึ่งสามารถเป็นส่วนหนึ่งของความสัมพันธ์จํานวนเท่าใดก็ได้ แต่ความสัมพันธ์แต่ละความสัมพันธ์จะมีสองตารางเสมอ ในคิวรี ความสัมพันธ์จะแสดงด้วยการรวม
เมื่อคุณเพิ่มตารางไปยังคิวรี Access จะสร้างการรวมที่ยึดตามความสัมพันธ์ที่กําหนดไว้ระหว่างตาราง คุณสามารถสร้างการรวมในคิวรีได้ด้วยตนเอง แม้ว่ารายการเหล่านั้นจะไม่แสดงแทนความสัมพันธ์ที่ได้รับการกําหนดไว้แล้วก็ตาม ถ้าคุณใช้คิวรีอื่น (แทนหรือนอกเหนือจากตาราง) เป็นแหล่งข้อมูลสําหรับคิวรี คุณสามารถสร้างการรวมระหว่างคิวรีต้นฉบับ และระหว่างคิวรีเหล่านั้นกับตารางใดๆ ที่คุณใช้เป็นแหล่งข้อมูลได้
การรวมจะทํางานคล้ายกับเกณฑ์ของคิวรีตรงที่จะสร้างกฎที่ข้อมูลต้องตรงกันเพื่อรวมไว้ในการดําเนินการคิวรี ไม่เหมือนกับเกณฑ์ การรวมยังระบุว่าแถวแต่ละคู่ที่ตรงตามเงื่อนไขการรวมจะถูกรวมในชุดระเบียนเพื่อสร้างแถวเดียว
การรวมมีอยู่สี่ชนิดพื้นฐาน: การรวมภายใน การรวมภายนอก การรวมแบบไขว้ และการรวมที่ไม่เท่ากัน บทความนี้จะอธิบายเกี่ยวกับการรวมแต่ละชนิดที่คุณสามารถใช้ได้ เหตุผลที่คุณใช้แต่ละชนิด และวิธีการสร้างการรวม
การรวมนั้นเกี่ยวข้องกับคิวรี ความสัมพันธ์กับตารางคืออะไร คือการบ่งชี้ว่าจะรวมข้อมูลในแหล่งข้อมูลสองแห่งเข้าด้วยกันได้อย่างไร โดยยึดตามค่าข้อมูลที่มีเหมือนกัน ต่อไปนี้เป็นภาพประกอบของการรวมในมุมมองออกแบบคิวรี ที่มีคุณสมบัติการรวมเปิดอยู่ในกล่องโต้ตอบ
เส้นนี้ระหว่างตารางแสดงถึงการรวม ดับเบิลคลิกการรวมเพื่อเปิดกล่องโต้ตอบ คุณสมบัติการรวม (แสดงให้เห็น) แล้วตรวจทานหรือเปลี่ยนการรวม
บางครั้งการรวมจะเป็นแบบมีทิศทาง พื้นที่นี้ของกล่องโต้ตอบจะแสดงให้คุณเห็นว่าตารางใดอยู่ในการรวม และเขตข้อมูลใดที่ถูกใช้ในการรวมตาราง
พื้นที่นี้จะกําหนดชนิดของการรวม: ตัวเลือกที่ 1 คือการรวมภายใน 2 เป็นการรวมภายนอกด้านซ้าย และ 3 เป็นการรวมภายนอกด้านขวา
เขตข้อมูลจากทั้งสองตารางสามารถใช้ได้ และจะแสดงข้อมูลที่เกี่ยวข้องกับงานที่ได้รับจากแต่ละตาราง ในการรวมภายใน จะไม่มีข้อมูลอื่นๆ รวมอยู่ด้วย ในการรวมภายนอก ระเบียนที่ไม่เกี่ยวข้องจากตารางหนึ่งจะถูกรวมไว้ในผลลัพธ์คิวรีด้วย
ชนิดของการรวม
การรวมมีอยู่สี่ชนิดพื้นฐาน: การรวมภายใน การรวมภายนอก การรวมแบบไขว้ และการรวมที่ไม่เท่ากัน การรวมข้ามและการรวมที่ไม่เท่ากันเป็นชนิดการรวมขั้นสูงและไม่ค่อยได้ใช้ แต่คุณควรทราบเกี่ยวกับชนิดเหล่านี้เพื่อให้มีความเข้าใจอย่างถ่องแท้เกี่ยวกับวิธีการทํางานของการรวม
การรวมภายใน: รวมเฉพาะข้อมูลที่เกี่ยวข้องจากทั้งสองตารางเข้าด้วยกัน
การรวมภายในคือการรวมที่ Access จะรวมเฉพาะข้อมูลจากตาราง ถ้ามีข้อมูลที่สอดคล้องกันในตารางที่เกี่ยวข้อง และในทางกลับกัน โดยส่วนใหญ่ คุณจะใช้การรวมภายใน เมื่อคุณสร้างการรวมและไม่ได้ระบุชนิดการรวม Access จะถือว่าคุณต้องการการรวมภายใน การรวมภายในมีประโยชน์เนื่องจากช่วยให้คุณรวมข้อมูลจากแหล่งข้อมูลสองแห่งโดยยึดตามค่าที่มีร่วมกัน คุณจึงเห็นข้อมูลเมื่อมีรูปภาพที่สมบูรณ์เท่านั้น
การรวมภายนอก: ข้อมูลที่เกี่ยวข้องทั้งหมดถูกรวมเข้าด้วยกันอย่างถูกต้อง และระเบียนที่เหลือทั้งหมดจากตารางเดียว
การรวมภายนอกเหมือนกับการรวมภายใน แต่จะเพิ่มแถวที่เหลือจากตารางใดตารางหนึ่ง การรวมภายนอกเป็นแบบมีทิศทาง กล่าวคือ การรวมภายนอกด้านซ้ายรวมระเบียนทั้งหมดจากตารางด้านซ้าย ซึ่งเป็นตารางแรกในการรวม และการรวมภายนอกด้านขวารวมระเบียนทั้งหมดจากตารางด้านขวา ซึ่งเป็นตารางที่สองในการรวม
การรวมภายนอกแบบเต็ม: ข้อมูลทั้งหมด รวมเข้าด้วยกันถ้าเป็นไปได้
ในบางระบบ การรวมภายนอกอาจรวมแถวทั้งหมดจากทั้งสองตาราง โดยมีแถวรวมกันเมื่อตรงกับแถว วิธีนี้เรียกว่าการรวมภายนอกแบบเต็ม และ Access ไม่ได้สนับสนุนอย่างชัดเจน อย่างไรก็ตาม คุณสามารถใช้การรวมข้ามและเกณฑ์เพื่อให้ได้ผลกระทบแบบเดียวกัน
การรวมข้าม: ข้อมูลทั้งหมดรวมกันด้วยทุกวิธีที่เป็นไปได้
ส่วนใหญ่ การรวมข้ามเป็นผลข้างเคียงของการเพิ่มตารางสองตารางลงในคิวรี แล้วลืมรวมตารางเหล่านั้น Access จะตีความสิ่งนี้ว่าคุณต้องการดูทุกระเบียนจากตารางหนึ่งรวมกันกับทุกระเบียนจากอีกตารางหนึ่ง – ทุกระเบียนที่รวมกัน เนื่องจากไม่สามารถรวมข้อมูลได้ การรวมชนิดนี้จึงไม่ก่อให้เกิดผลลัพธ์ที่เป็นประโยชน์ แต่มีบางกรณีที่คุณต้องการเชื่อมข้าม
การรวมที่ไม่เท่ากัน: เหมือนการรวมทั่วไป แต่ใช้การเปรียบเทียบที่แตกต่างกันเพื่อรวมแถว
การรวมที่ไม่เท่ากันจะใช้ตัวดําเนินการอื่นนอกเหนือจากเครื่องหมายเท่ากับ (=) เพื่อเปรียบเทียบค่าและกําหนดว่าจะรวมข้อมูลหรือไม่และจะรวมอย่างไร การรวมที่ไม่เท่ากันไม่ได้รับการสนับสนุนอย่างชัดเจน แต่คุณสามารถใช้การรวมแบบผสมผสานและเกณฑ์เพื่อให้ได้ผลกระทบแบบเดียวกัน
แสดงแถวที่มีค่าร่วมกันอยู่ในทั้งสองตารางที่ถูกรวม
ถ้าคุณต้องการแสดงเฉพาะแถวที่มีค่าที่ตรงกันในเขตข้อมูลที่รวมกัน ให้คุณใช้การรวมภายใน Access จะสร้างการรวมภายในโดยอัตโนมัติ
การรวมภายในเป็นการรวมชนิดที่ใช้บ่อยที่สุด แผนภูมิเหล่านี้จะบอกคิวรีว่าแถวจากตารางหนึ่งที่ถูกรวมจะสอดคล้องกับแถวในอีกตารางหนึ่ง โดยยึดตามข้อมูลในเขตข้อมูลที่รวม เมื่อเรียกใช้แบบสอบถามที่มีการรวมภายใน เฉพาะแถวที่มีค่าร่วมกันที่อยู่ในทั้งสองตารางที่ถูกรวมเท่านั้นที่จะถูกรวมอยู่ในการดําเนินการคิวรี
How do I use an inner join ได้อย่างไร
โดยส่วนใหญ่แล้ว คุณไม่จําเป็นต้องดําเนินการใดๆ เพื่อใช้การรวมภายใน ถ้าตารางที่คุณเพิ่มไปยังคิวรีมีความัสมพันธ์อยู่แล้ว Access จะสร้างการรวมภายในระหว่างแต่ละคู่ของตารางที่เกี่ยวข้องโดยอัตโนมัติเมื่อคุณเพิ่มตาราง ถ้ามีการบังคับใช้ Referential Integrity Access ยังแสดง "1" เหนือบรรทัดการรวมเพื่อแสดงว่าตารางใดอยู่ฝั่ง "หนึ่ง" ของความสัมพันธ์แบบหนึ่งต่อกลุ่ม และสัญลักษณ์อนันต์ (∞) เพื่อแสดงว่าตารางใดอยู่ฝั่ง "กลุ่ม"
แม้ว่าคุณยังไม่ได้สร้างความสัมพันธ์ Access จะสร้างการรวมภายในโดยอัตโนมัติถ้าคุณเพิ่มตารางสองตารางไปยังคิวรี และตารางเหล่านั้นแต่ละตารางมีเขตข้อมูลที่มีชนิดข้อมูลเดียวกันหรือเข้ากันได้ และหนึ่งในเขตข้อมูลการรวมเป็นคีย์หลัก สัญลักษณ์ "หนึ่ง" และ "กลุ่ม" จะไม่แสดงในกรณีนี้ เนื่องจากไม่มีการบังคับให้มี Referential Integrity
ถ้าคุณเพิ่มคิวรีไปยังคิวรีของคุณ และไม่ได้สร้างความสัมพันธ์ระหว่างคิวรีนั้น Access จะไม่สร้างการรวมภายในระหว่างคิวรีเหล่านั้นหรือระหว่างคิวรีกับตารางโดยอัตโนมัติ โดยทั่วไปแล้ว คุณควรสร้างด้วยตนเอง คุณสร้างการรวมภายในโดยการลากเขตข้อมูลจากแหล่งข้อมูลหนึ่งไปยังเขตข้อมูลบนแหล่งข้อมูลอื่น Access จะแสดงบรรทัดระหว่างสองเขตข้อมูลเพื่อแสดงว่าได้สร้างการรวมแล้ว
ไวยากรณ์ SQL สําหรับการรวมภายใน
การรวมภายในจะระบุอยู่ใน SQL ในส่วนคําสั่ง FROM ดังที่แสดงด้านล่างนี้
FROM table1 INNER JOIN table2 ON table1. เขตข้อมูล 1 เปรียบเทียบตาราง 2เขตข้อมูล 2
การดำเนินการ INNER JOIN มีส่วนเหล่านี้:
| ส่วน | คำอธิบาย |
|---|---|
| table1, table2 | ชื่อของตารางที่ระเบียนถูกรวม |
| field1, field2 | ชื่อเขตข้อมูลที่เข้าร่วม ถ้าไม่ใช่ตัวเลข เขตข้อมูลจะต้องมีชนิดข้อมูลเดียวกันและมีข้อมูลประเภทเดียวกัน แต่ต้องไม่ใช้ชื่อเดียวกัน |
| เปรียบเทียบ | ตัวดําเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ ได้แก่ "=," "<,"> "<"=", ">=," หรือ "."<> |
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ INNER JOIN ให้ดูที่หัวข้อ การดําเนินการ INNER JOIN
แสดงแถวทั้งหมดจากตารางหนึ่ง และแถวที่สอดคล้องกันจากตารางอื่น
การรวมภายนอกจะบอกคิวรีว่าแม้ว่าบางแถวของทั้งสองด้านของการรวมจะตรงกันทุกประการ แต่คิวรีควรรวมแถวทั้งหมดจากตารางหนึ่ง และแถวเหล่านั้นจากอีกตารางหนึ่งที่มีค่าร่วมกันทั้งสองด้านของการรวมด้วย
การรวมภายนอกอาจเป็นการรวมภายนอกด้านซ้ายหรือการรวมภายนอกด้านขวาก็ได้ ในการรวมภายนอกด้านซ้าย คิวรีจะรวมแถวทั้งหมดจากตารางแรกในส่วนคําสั่ง FROM ของคําสั่ง SQL และเฉพาะแถวเหล่านั้นจากตารางอื่นที่เขตข้อมูลการรวมมีค่าทั่วไปของทั้งสองตาราง ในการรวมภายนอกด้านขวา คิวรีจะรวมแถวทั้งหมดจากตารางที่สองในส่วนคําสั่ง FROM ของ SQL และเฉพาะแถวเหล่านั้นจากตารางอื่นที่เขตข้อมูลการรวมมีค่าทั่วไปในทั้งสองตาราง
หมายเหตุ
คุณสามารถบอกได้อย่างง่ายดายว่าตารางใดเป็นตารางด้านซ้ายหรือตารางขวาในการรวมที่กําหนดด้วยการดับเบิลคลิกการรวม จากนั้นดูในกล่องโต้ตอบคุณสมบัติการรวม คุณยังสามารถสลับไปยังมุมมอง SQL แล้วตรวจสอบส่วนคําสั่ง FROM ได้
เนื่องจากแถวบางแถวบนด้านหนึ่งของการรวมภายนอกจะไม่มีแถวที่สอดคล้องกันจากตารางอื่น เขตข้อมูลบางรายการที่ส่งกลับในผลลัพธ์คิวรีจากตารางอื่นนั้นจะว่างเปล่าเมื่อแถวไม่สัมพันธ์กัน
How do I use an outer join
คุณสามารถสร้างการรวมภายนอกได้โดยการปรับเปลี่ยนการรวมภายในที่มีอยู่ ถ้าไม่มีการรวมภายในอยู่ ให้คุณสร้างขึ้น แล้วเปลี่ยนเป็นการรวมภายนอก
เปลี่ยนการรวมภายในเป็นการรวมภายนอก
- ในมุมมองออกแบบคิวรี ให้ดับเบิลคลิกการรวมที่คุณต้องการเปลี่ยนแปลง
กล่องโต้ตอบ คุณสมบัติการรวม จะปรากฏขึ้น - ในกล่องโต้ตอบ คุณสมบัติการรวม ให้สังเกตตัวเลือกที่แสดงอยู่ข้างตัวเลือก 2 และตัวเลือก 3
- คลิกตัวเลือกที่คุณต้องการใช้ จากนั้น คลิก ตกลง
- Access จะแสดงการรวมและแสดงลูกศรที่ชี้จากแหล่งข้อมูลซึ่งจะรวมแถวทั้งหมดไว้จนถึงแหล่งข้อมูลที่มีเฉพาะแถวที่ตรงตามเงื่อนไขการรวมเท่านั้นที่จะถูกรวมเข้า
การรวมภายนอกที่ไม่ชัดเจน
ถ้าคุณสร้างคิวรีที่มี LEFT JOIN และ INNER JOIN Access อาจไม่สามารถกําหนดการดําเนินการรวมที่จะดําเนินการก่อนได้ เนื่องจากผลลัพธ์จะแตกต่างกันขึ้นอยู่กับว่าการรวมด้านซ้ายหรือการรวมภายในถูกดําเนินการก่อน Access จะแสดงข้อความแสดงข้อผิดพลาด:
เมื่อต้องการแก้ไขข้อผิดพลาดนี้ คุณต้องปรับเปลี่ยนคิวรีเพื่อให้เกิดความชัดเจนว่าจะรวมรายการใดก่อน
ไวยากรณ์ SQL สําหรับการรวมภายนอก
การรวมภายนอกจะถูกระบุอยู่ใน SQL ในส่วนคําสั่ง FROM ดังที่แสดงด้านล่างนี้
FROM table1 [ LEFT | ขวา ] ตารางเข้าร่วม 2
ON table1.field1 compare table2.field2
การดำเนินการ LEFT JOIN และ RIGHT JOIN มีส่วนต่างๆ ดังต่อไปนี้:
| ส่วน | คำอธิบาย |
|---|---|
| table1, table2 | ชื่อของตารางที่ระเบียนถูกรวม |
| field1, field2 | ชื่อเขตข้อมูลที่เข้าร่วม เขตข้อมูลจะต้องมีชนิดข้อมูลเดียวกันและมีข้อมูลประเภทเดียวกัน แต่ไม่จําเป็นต้องมีชื่อเดียวกัน |
| เปรียบเทียบ | ตัวดําเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ ได้แก่ "=," "<,"> "<"=", ">=," หรือ "."<> |
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์การรวมภายนอก ให้ดูที่หัวข้อ การดําเนินการ LEFT JOIN, RIGHT JOIN
แสดงแถวทั้งหมดจากทั้งสองตาราง และรวมแถวเหล่านี้ในที่ที่มีค่าเหมือนกัน
เมื่อคุณต้องการแสดงแถวทั้งหมดจากสองตาราง และรวมเข้าด้วยกันโดยยึดตามค่าร่วมกัน คุณสามารถใช้การรวมภายนอกแบบเต็ม Access ไม่สนับสนุนการรวมภายนอกแบบเต็มอย่างชัดเจน แต่คุณสามารถบรรลุผลเดียวกันได้โดยใช้คิวรีแบบร่วม กระบวนงานต่อไปนี้จะอธิบายวิธีทําดังนี้ แต่ถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับแบบสอบถามแบบร่วม ให้ดูส่วน ดูเพิ่มเติม
เมื่อต้องการใช้คิวรีแบบร่วมเพื่อดําเนินการการรวมภายนอกแบบเต็ม ให้ทําดังนี้
สร้างคิวรีที่มีการรวมภายนอกด้านซ้ายบนเขตข้อมูลที่คุณต้องการใช้สําหรับการรวมภายนอกแบบเต็ม
บนแท็บ หน้าแรก ในกลุ่ม มุมมอง ให้คลิก มุมมอง แล้วคลิกที่ มุมมอง SQL
กด CTRL+C เพื่อคัดลอกโค้ด SQL
ลบเครื่องหมายอัฒภาคที่ท้ายส่วนคําสั่ง FROM แล้วกด ENTER
พิมพ์ UNION จากนั้นกด Enter
หมายเหตุ
อย่าใช้คําสําคัญ ALL เมื่อคุณใช้คิวรีแบบร่วมเพื่อดําเนินการการรวมภายนอกแบบเต็ม
กด CTRL+V เพื่อวางโค้ด SQL ที่คุณคัดลอกไว้ในขั้นตอนที่ 3
ในโค้ดที่คุณวาง ให้เปลี่ยน LEFT JOIN เป็น RIGHT JOIN
ลบเครื่องหมายอัฒภาคที่ท้ายส่วนคําสั่ง FROM ที่สอง แล้วกด ENTER
เพิ่มส่วนคําสั่ง WHERE ที่ระบุว่าค่าของเขตข้อมูลการรวมเป็น NULL ในตารางแรกที่แสดงในส่วนคําสั่ง FROM (ตารางด้านซ้าย)
ตัวอย่างเช่น ถ้าส่วนคําสั่ง FROM เป็น:FROM Products RIGHT JOIN [Order Details] ON Products.ID = [Order Details].[Product ID]คุณจะต้องเพิ่มส่วนคําสั่ง WHERE ต่อไปนี้:
WHERE Products.ID IS NULLพิมพ์เครื่องหมายอัฒภาค (;) ที่ท้ายส่วนคําสั่ง WHERE เพื่อระบุจุดสิ้นสุดของคิวรีแบบร่วม
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
การเชื่อมแบบข้าม
การรวมแบบข้ามจะแตกต่างจากการรวมภายในและภายนอกตรงที่ไม่ได้แสดงอย่างชัดเจนใน Access ในการรวมแบบไขว้ แถวแต่ละแถวจากตารางหนึ่งจะถูกรวมกับแถวแต่ละแถวจากอีกตารางหนึ่ง ให้ผลลัพธ์ที่เรียกว่า ผลคูณข้าม หรือผลคูณคาร์ทีเซียน ทุกครั้งที่คุณเรียกใช้คิวรีที่มีตารางที่ไม่ได้รวมกันอย่างชัดเจน ผลลัพธ์จะเป็นผลคูณข้าม การรวมข้ามมักจะเกิดขึ้นไม่ได้ตั้งใจ แต่ก็มีบางกรณีที่อาจมีประโยชน์
เหตุใดฉันจึงควรใช้การรวมแบบข้าม
ถ้าคุณต้องการตรวจสอบการรวมกันของแถวที่เป็นไปได้ทั้งหมดระหว่างสองตารางหรือคิวรี ให้ใช้การรวมแบบไขว้ ตัวอย่างเช่น สมมติว่าธุรกิจของคุณมีปีที่น่าตื่นตาตื่นใจ และคุณกําลังพิจารณาที่จะให้เงินคืนแก่ลูกค้าของคุณ คุณสามารถสร้างคิวรีที่รวมการซื้อของลูกค้าแต่ละราย สร้างตารางขนาดเล็กที่มีเปอร์เซ็นต์เงินคืนที่เป็นไปได้หลายรายการ และรวมทั้งสองในคิวรีอื่นที่ดําเนินการรวมแบบไขว้ คุณจะจบลงด้วยคิวรีที่แสดงชุดเงินคืนตามสมมุติของลูกค้าแต่ละราย
How do I use a cross join ได้อย่างไร
การรวมข้ามจะเกิดขึ้นเมื่อใดก็ตามที่คุณรวมตารางหรือคิวรีในคิวรีของคุณ และไม่ได้สร้างการรวมแบบชัดแจ้งอย่างน้อยหนึ่งรายการสําหรับแต่ละตารางหรือคิวรี Access จะรวมแถวทั้งหมดจากแต่ละตารางหรือคิวรีที่ไม่ได้ถูกรวมเข้ากับตารางหรือคิวรีอื่นอย่างชัดเจนกับแถวอื่นๆ ในผลลัพธ์ พิจารณาสถานการณ์เงินคืนจากย่อหน้าก่อนหน้า สมมติว่า คุณมีลูกค้า 91 ราย และคุณต้องการดูเปอร์เซ็นต์เงินคืนที่เป็นไปได้ 5 เปอร์เซ็นต์ การรวมแบบไขว้ของคุณจะสร้างแถว 455 แถว (ผลคูณของ 91 และ 5)
แบบที่คุณอาจจินตนาการได้ว่า การรวมแบบข้ามโดยไม่ตั้งใจสามารถสร้างแถวจํานวนมากในผลลัพธ์คิวรีของคุณ ยิ่งไปกว่านั้น ผลลัพธ์เหล่านี้โดยทั่วไปจะไม่มีความหมาย เพราะถ้าคุณไม่ได้ตั้งใจที่จะรวมทุกแถวกับแถวอื่นๆ แถวที่รวมเข้าด้วยกันส่วนใหญ่ที่ปรากฏในผลลัพธ์จะไม่สมเหตุสมผล สุดท้าย คิวรีที่ใช้การรวมข้ามโดยไม่ได้ตั้งใจอาจใช้เวลานานมากในการเรียกใช้
1. เขตข้อมูลในวงกลมควรเชื่อมกัน
Cross
1. โปรดสังเกตว่ามีระเบียนจํานวนมาก
ผลลัพธ์
1. โปรดสังเกตว่าจํานวนระเบียนมีน้อยกว่ามาก
รวมตารางต่างๆ โดยยึดตามความไม่เท่าเทียมกันของค่าในเขตข้อมูล
การรวมไม่จําเป็นต้องยึดตาม ความเท่าเทียม กันของเขตข้อมูลที่รวม การรวมสามารถขึ้นอยู่กับตัวดําเนินการเปรียบเทียบใดๆ ก็ได้ เช่น มากกว่า ()> น้อยกว่า ()< หรือไม่เท่ากับ ()<> การรวมที่ไม่ได้ยึดตามความเท่าเทียมกันจะเรียกว่าการรวมที่ไม่เท่ากัน
ถ้าคุณต้องการรวมแถวของแหล่งข้อมูลสองแห่งโดยยึดตามค่าเขตข้อมูลที่ไม่เท่ากัน ให้ใช้การรวมที่ไม่เท่ากัน โดยทั่วไป การรวมที่ไม่เท่ากันจะขึ้นอยู่กับตัวดําเนินการเปรียบเทียบค่ามากกว่า (),> น้อยกว่า (),< มากกว่าหรือเท่ากับ (>=) หรือน้อยกว่าหรือเท่ากับ (<=) การรวมที่ไม่เท่ากันที่ใช้ตัวดําเนินการไม่เท่ากับ ()<> สามารถส่งกลับแถวได้เกือบเท่ากับการรวมแบบไขว้ และผลลัพธ์อาจตีความได้ยาก
How do I use an unequal join?
การรวมที่ไม่เท่ากันไม่ได้รับการสนับสนุนในมุมมองออกแบบ ถ้าคุณต้องการใช้ไฟล์เหล่านั้น คุณต้องดําเนินการดังกล่าวโดยใช้มุมมอง SQL อย่างไรก็ตาม คุณสามารถสร้างการรวมในมุมมองออกแบบ สลับไปยังมุมมอง SQL ค้นหาตัวดําเนินการเปรียบเทียบเท่ากับ (=) และเปลี่ยนเป็นตัวดําเนินการที่คุณต้องการใช้ได้ หลังจากที่คุณทําเช่นนี้ คุณจะสามารถเปิดคิวรีในมุมมองออกแบบได้อีกครั้งถ้าคุณเปลี่ยนตัวดําเนินการเปรียบเทียบกลับไปเป็นเท่ากับ (=) ในมุมมอง SQL ก่อน
ลบการรวม
ถ้า Access สร้างการรวมที่คุณไม่ต้องการโดยอัตโนมัติ หรือถ้าคุณสร้างการรวมโดยไม่ได้ตั้งใจ ตัวอย่างเช่น การรวมระหว่างสองเขตข้อมูลที่มีชนิดข้อมูลไม่เหมือนกัน คุณสามารถลบการรวมได้
- ในตารางออกแบบคิวรี ให้คลิกการรวมที่คุณต้องการเอาออก
- กด DELETE
หรือ
- ในตารางออกแบบคิวรี ให้คลิกขวาที่การรวมที่คุณต้องการเอาออก แล้วคลิก ลบ
เพิ่มระเบียนในตารางโดยใช้คิวรีแบบใช้ผนวกข้อมูลรวมผลลัพธ์ของคิวรีแบบใช้เลือกข้อมูลหลายๆ คิวรีโดยใช้คิวรีแบบร่วมสร้างคิวรีโดยยึดตามหลายตารางสร้าง แก้ไข หรือลบความสัมพันธ์