การหาข้อมูลที่ซ้ำกันในตาราง 2 ตาราง ของ Access2010
การหาข้อมูลใน Field ที่ซ้ำกันในตารางเดียวกัน เป็นเรื่องไม่ยาก เพราะมี แบบสอบถาม หรือ Query ที่ใช้สำหรับค้นหาข้อมูลที่ซ้ำกันอยู่แล้ว คือ ตัวช่วยสร้างแบบสอบถามเพื่อค้นหารายการที่ซ้ำ (Find Duplicate Query Wizard) (ไปที่แถบสร้าง กลุ่มแบบสอบถาม เลือก ตัวช่วยสร้างแบบสอบถามเพื่อค้นหารายการที่ซ้ำ)
และถ้าเป็นการหาข้อมูลที่ซ้ำกันใน 2 ตาราง แต่ต้องการหาเพียงฟิลด์เดียว ก็ไม่ยากเท่าไร เพราะสามารถใช้ ตัวช่วยสร้างแบบสอบถามการค้นหาข้อมูลที่ไม่ตรงกัน (Find Unmatched Query Wizard) ได้ เพียงเปลี่ยนเงื่อนไข จาก is Null เป็น Not is Null ก็ใช้ได้
แต่ ถ้าต้องการหาข้อมูลที่ซ้ำกัน โดยมีเงื่อนไขว่า ต้องซ้ำกันหลายฟิลด์ เช่น ชื่อซ้ำกัน และนามสกุลซ้ำกันด้วย จะทำอย่างไร
จากภาพ จะเห็นว่า ในตารางที่ 1 และตารางที่ 2 มีข้อมูลที่ซ้ำกันคือ สมศักดิ์ รักชาติ และ สุดา อารยา ส่วนประสิทธิ์ ชื่อเหมือนกัน แต่นามสกุลต่างกัน จึงเป็นคนละคนกัน
การค้นหารายชื่อที่ซ้ำกัน ใน 2 ตาราง โดยมีเงื่อนไขหลายฟิลด์ มีดังนี้
และถ้าเป็นการหาข้อมูลที่ซ้ำกันใน 2 ตาราง แต่ต้องการหาเพียงฟิลด์เดียว ก็ไม่ยากเท่าไร เพราะสามารถใช้ ตัวช่วยสร้างแบบสอบถามการค้นหาข้อมูลที่ไม่ตรงกัน (Find Unmatched Query Wizard) ได้ เพียงเปลี่ยนเงื่อนไข จาก is Null เป็น Not is Null ก็ใช้ได้
แต่ ถ้าต้องการหาข้อมูลที่ซ้ำกัน โดยมีเงื่อนไขว่า ต้องซ้ำกันหลายฟิลด์ เช่น ชื่อซ้ำกัน และนามสกุลซ้ำกันด้วย จะทำอย่างไร
จากภาพ จะเห็นว่า ในตารางที่ 1 และตารางที่ 2 มีข้อมูลที่ซ้ำกันคือ สมศักดิ์ รักชาติ และ สุดา อารยา ส่วนประสิทธิ์ ชื่อเหมือนกัน แต่นามสกุลต่างกัน จึงเป็นคนละคนกัน
การค้นหารายชื่อที่ซ้ำกัน ใน 2 ตาราง โดยมีเงื่อนไขหลายฟิลด์ มีดังนี้
- สร้างแบบสอบถามใหม่ โดยไปที่แถบสร้าง กลุ่มแบบสอบถาม เลือกออกแบบแบสอบถาม Query
- เลือกตารางที่มีข้อมูลที่ต้องการเปรียบเทียบเข้าสู่แบบสอบถาม ในที่นี้คือ Table1 และ Table2
- นำฟิลด์ที่ต้องการให้แสดง และฟิลด์ที่ต้องการใช้เป็นเงื่อนไขมาวาง ดังภาพ
- คลิกที่เครื่องหมาย ผลรวม
- เลือก Where เป็นในฟิลด์ที่ต้องการ พร้อมทั้งกำหนดเงื่อนไขในช่องเกณฑ์ โดยระบุชื่อฟิลด์ในอีกตารางหนึ่ง ดังภาพ
- เมื่อคลิก เรียกใช้ จะเห็นชื่อของผู้ทีมีชื่อซ้ำกัน ดังนี้
- ถ้าดูโค้ดที่ Query สร้างขึ้น จะเห็นดังนี้
SELECT Table2.[ชื่อ], Table2.[นามสกุล]
FROM Table1, Table2
WHERE (((Table2.[ชื่อ])=[Table1].[fname]) AND ((Table2.[นามสกุล])=[Table1].[lname]))
GROUP BY Table2.[ชื่อ], Table2.[นามสกุล];
ความคิดเห็น
แสดงความคิดเห็น