การรวมตารางและคิวรี

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

เมื่อคุณรวมแหล่งข้อมูลหลายแหล่งในคิวรี 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

คุณสามารถสร้างการรวมภายนอกได้โดยการปรับเปลี่ยนการรวมภายในที่มีอยู่ ถ้าไม่มีการรวมภายในอยู่ ให้คุณสร้างขึ้น แล้วเปลี่ยนเป็นการรวมภายนอก

เปลี่ยนการรวมภายในเป็นการรวมภายนอก

  1. ในมุมมองออกแบบคิวรี ให้ดับเบิลคลิกการรวมที่คุณต้องการเปลี่ยนแปลง
    กล่องโต้ตอบ คุณสมบัติการรวม จะปรากฏขึ้น
  2. ในกล่องโต้ตอบ คุณสมบัติการรวม ให้สังเกตตัวเลือกที่แสดงอยู่ข้างตัวเลือก 2 และตัวเลือก 3
  3. คลิกตัวเลือกที่คุณต้องการใช้ จากนั้น คลิก ตกลง
  4. 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 ไม่สนับสนุนการรวมภายนอกแบบเต็มอย่างชัดเจน แต่คุณสามารถบรรลุผลเดียวกันได้โดยใช้คิวรีแบบร่วม กระบวนงานต่อไปนี้จะอธิบายวิธีทําดังนี้ แต่ถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับแบบสอบถามแบบร่วม ให้ดูส่วน ดูเพิ่มเติม

เมื่อต้องการใช้คิวรีแบบร่วมเพื่อดําเนินการการรวมภายนอกแบบเต็ม ให้ทําดังนี้

  1. สร้างคิวรีที่มีการรวมภายนอกด้านซ้ายบนเขตข้อมูลที่คุณต้องการใช้สําหรับการรวมภายนอกแบบเต็ม

  2. บนแท็บ หน้าแรก ในกลุ่ม มุมมอง ให้คลิก มุมมอง แล้วคลิกที่ มุมมอง SQL

  3. กด CTRL+C เพื่อคัดลอกโค้ด SQL

  4. ลบเครื่องหมายอัฒภาคที่ท้ายส่วนคําสั่ง FROM แล้วกด ENTER

  5. พิมพ์ UNION จากนั้นกด Enter

    หมายเหตุ

    อย่าใช้คําสําคัญ ALL เมื่อคุณใช้คิวรีแบบร่วมเพื่อดําเนินการการรวมภายนอกแบบเต็ม

  6. กด CTRL+V เพื่อวางโค้ด SQL ที่คุณคัดลอกไว้ในขั้นตอนที่ 3

  7. ในโค้ดที่คุณวาง ให้เปลี่ยน LEFT JOIN เป็น RIGHT JOIN

  8. ลบเครื่องหมายอัฒภาคที่ท้ายส่วนคําสั่ง FROM ที่สอง แล้วกด ENTER

  9. เพิ่มส่วนคําสั่ง WHERE ที่ระบุว่าค่าของเขตข้อมูลการรวมเป็น NULL ในตารางแรกที่แสดงในส่วนคําสั่ง FROM (ตารางด้านซ้าย)
    ตัวอย่างเช่น ถ้าส่วนคําสั่ง FROM เป็น:

    FROM Products RIGHT JOIN [Order Details] 
     ON Products.ID = [Order Details].[Product ID]
    
    

    คุณจะต้องเพิ่มส่วนคําสั่ง WHERE ต่อไปนี้:
    WHERE Products.ID IS NULL

  10. พิมพ์เครื่องหมายอัฒภาค (;) ที่ท้ายส่วนคําสั่ง WHERE เพื่อระบุจุดสิ้นสุดของคิวรีแบบร่วม

  11. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

การเชื่อมแบบข้าม

การรวมแบบข้ามจะแตกต่างจากการรวมภายในและภายนอกตรงที่ไม่ได้แสดงอย่างชัดเจนใน Access ในการรวมแบบไขว้ แถวแต่ละแถวจากตารางหนึ่งจะถูกรวมกับแถวแต่ละแถวจากอีกตารางหนึ่ง ให้ผลลัพธ์ที่เรียกว่า ผลคูณข้าม หรือผลคูณคาร์ทีเซียน ทุกครั้งที่คุณเรียกใช้คิวรีที่มีตารางที่ไม่ได้รวมกันอย่างชัดเจน ผลลัพธ์จะเป็นผลคูณข้าม การรวมข้ามมักจะเกิดขึ้นไม่ได้ตั้งใจ แต่ก็มีบางกรณีที่อาจมีประโยชน์

เหตุใดฉันจึงควรใช้การรวมแบบข้าม

ถ้าคุณต้องการตรวจสอบการรวมกันของแถวที่เป็นไปได้ทั้งหมดระหว่างสองตารางหรือคิวรี ให้ใช้การรวมแบบไขว้ ตัวอย่างเช่น สมมติว่าธุรกิจของคุณมีปีที่น่าตื่นตาตื่นใจ และคุณกําลังพิจารณาที่จะให้เงินคืนแก่ลูกค้าของคุณ คุณสามารถสร้างคิวรีที่รวมการซื้อของลูกค้าแต่ละราย สร้างตารางขนาดเล็กที่มีเปอร์เซ็นต์เงินคืนที่เป็นไปได้หลายรายการ และรวมทั้งสองในคิวรีอื่นที่ดําเนินการรวมแบบไขว้ คุณจะจบลงด้วยคิวรีที่แสดงชุดเงินคืนตามสมมุติของลูกค้าแต่ละราย

How do I use a cross join ได้อย่างไร

การรวมข้ามจะเกิดขึ้นเมื่อใดก็ตามที่คุณรวมตารางหรือคิวรีในคิวรีของคุณ และไม่ได้สร้างการรวมแบบชัดแจ้งอย่างน้อยหนึ่งรายการสําหรับแต่ละตารางหรือคิวรี Access จะรวมแถวทั้งหมดจากแต่ละตารางหรือคิวรีที่ไม่ได้ถูกรวมเข้ากับตารางหรือคิวรีอื่นอย่างชัดเจนกับแถวอื่นๆ ในผลลัพธ์ พิจารณาสถานการณ์เงินคืนจากย่อหน้าก่อนหน้า สมมติว่า คุณมีลูกค้า 91 ราย และคุณต้องการดูเปอร์เซ็นต์เงินคืนที่เป็นไปได้ 5 เปอร์เซ็นต์ การรวมแบบไขว้ของคุณจะสร้างแถว 455 แถว (ผลคูณของ 91 และ 5)

แบบที่คุณอาจจินตนาการได้ว่า การรวมแบบข้ามโดยไม่ตั้งใจสามารถสร้างแถวจํานวนมากในผลลัพธ์คิวรีของคุณ ยิ่งไปกว่านั้น ผลลัพธ์เหล่านี้โดยทั่วไปจะไม่มีความหมาย เพราะถ้าคุณไม่ได้ตั้งใจที่จะรวมทุกแถวกับแถวอื่นๆ แถวที่รวมเข้าด้วยกันส่วนใหญ่ที่ปรากฏในผลลัพธ์จะไม่สมเหตุสมผล สุดท้าย คิวรีที่ใช้การรวมข้ามโดยไม่ได้ตั้งใจอาจใช้เวลานานมากในการเรียกใช้

Unintentianl cross join in query ออกแบบมุมมอง 1. เขตข้อมูลในวงกลมควรเชื่อมกัน

Cross Product โดยไม่ตั้งใจ 1. โปรดสังเกตว่ามีระเบียนจํานวนมาก

ผลลัพธ์คิวรีที่แก้ไขแล้ว 1. โปรดสังเกตว่าจํานวนระเบียนมีน้อยกว่ามาก

ด้านบนของหน้า

รวมตารางต่างๆ โดยยึดตามความไม่เท่าเทียมกันของค่าในเขตข้อมูล

การรวมไม่จําเป็นต้องยึดตาม ความเท่าเทียม กันของเขตข้อมูลที่รวม การรวมสามารถขึ้นอยู่กับตัวดําเนินการเปรียบเทียบใดๆ ก็ได้ เช่น มากกว่า ()> น้อยกว่า ()< หรือไม่เท่ากับ ()<> การรวมที่ไม่ได้ยึดตามความเท่าเทียมกันจะเรียกว่าการรวมที่ไม่เท่ากัน

ถ้าคุณต้องการรวมแถวของแหล่งข้อมูลสองแห่งโดยยึดตามค่าเขตข้อมูลที่ไม่เท่ากัน ให้ใช้การรวมที่ไม่เท่ากัน โดยทั่วไป การรวมที่ไม่เท่ากันจะขึ้นอยู่กับตัวดําเนินการเปรียบเทียบค่ามากกว่า (),> น้อยกว่า (),< มากกว่าหรือเท่ากับ (>=) หรือน้อยกว่าหรือเท่ากับ (<=) การรวมที่ไม่เท่ากันที่ใช้ตัวดําเนินการไม่เท่ากับ ()<> สามารถส่งกลับแถวได้เกือบเท่ากับการรวมแบบไขว้ และผลลัพธ์อาจตีความได้ยาก

How do I use an unequal join?

การรวมที่ไม่เท่ากันไม่ได้รับการสนับสนุนในมุมมองออกแบบ ถ้าคุณต้องการใช้ไฟล์เหล่านั้น คุณต้องดําเนินการดังกล่าวโดยใช้มุมมอง SQL อย่างไรก็ตาม คุณสามารถสร้างการรวมในมุมมองออกแบบ สลับไปยังมุมมอง SQL ค้นหาตัวดําเนินการเปรียบเทียบเท่ากับ (=) และเปลี่ยนเป็นตัวดําเนินการที่คุณต้องการใช้ได้ หลังจากที่คุณทําเช่นนี้ คุณจะสามารถเปิดคิวรีในมุมมองออกแบบได้อีกครั้งถ้าคุณเปลี่ยนตัวดําเนินการเปรียบเทียบกลับไปเป็นเท่ากับ (=) ในมุมมอง SQL ก่อน

ลบการรวม

ถ้า Access สร้างการรวมที่คุณไม่ต้องการโดยอัตโนมัติ หรือถ้าคุณสร้างการรวมโดยไม่ได้ตั้งใจ ตัวอย่างเช่น การรวมระหว่างสองเขตข้อมูลที่มีชนิดข้อมูลไม่เหมือนกัน คุณสามารถลบการรวมได้

  1. ในตารางออกแบบคิวรี ให้คลิกการรวมที่คุณต้องการเอาออก
  2. กด DELETE

หรือ

  • ในตารางออกแบบคิวรี ให้คลิกขวาที่การรวมที่คุณต้องการเอาออก แล้วคลิก ลบ

ด้านบนของหน้า

เพิ่มระเบียนในตารางโดยใช้คิวรีแบบใช้ผนวกข้อมูลรวมผลลัพธ์ของคิวรีแบบใช้เลือกข้อมูลหลายๆ คิวรีโดยใช้คิวรีแบบร่วมสร้างคิวรีโดยยึดตามหลายตารางสร้าง แก้ไข หรือลบความสัมพันธ์