فيه اكثر من فكره
table1 = الجدول الأول
table2 =الجدول الثاني
الحل الأمثل:
بستخدام subselect (تعمل فقط في الإصدار 4.1 وأعلى) وبهذه يمكن أن تستخرج البينات التى في الجدول الأول وغير موجوده في الجدول الثاني.
كود:
SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
الحل الثاني:
تستعلم من الجدولين عن البينات المكرره وتضعها في جدول او تحذفها
كود:
SELECT * FROM table1,table2 WHERE table1.id = table2.id;
وبإستخدام الإستعلامين السابقين يمكن ان تنشيء جدول جديد يحتوي على البينات النقيه
كتابة البينات من الزائدة من الجدول الأول
كود:
INSERT INTO table3 SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
كتابة البينات كلها بدون تكرار من الجدولين
كود:
INSERT INTO table3 SELECT table1.* FROM table1,table2 WHERE table1.id = table2.id;
الحل الثالث:
أن تضع محتويات الجدولين كلها في جدول ثالث ... وتستخرج النتائج بدون تكرار
كود:
INSERT INTO table3 SELECT * FROM table1;
كود:
INSERT INTO table3 SELECT * FROM table2;
إستخراج البينات الغير مكرره وكامله من الجدولين
كود:
SELECT DISTINCT id FROM table3;
لم أجرب بشكل عملي(غير مسؤول عن الكود ) ... لكن أعتقد انه حل