RDBMS بتاريخ: 20 يوليو 2011 تقديم بلاغ مشاركة بتاريخ: 20 يوليو 2011 السلام عليكم ورحمة الله وبركاتهلو سمحتم ممكن طريقة عمل استعلام يقوم بحذف السجلات المتكررة المتشابهةاثناء بحثي للمنتدى وجدت الرابط التالي http://www.araboug.org/ib/index.php?showtopic=13768&st=0&p=67542&hl=+طط°ظپ%20+ط§ظ„ط³ط¬ظ„ط§طھ%20+ط§ظ„ظ…ظƒط±ط±ط©&fromsearch=1entry67542الا انه اثناء تجربتي لبعض الاستعلامات فانه يقوم بحذف سجلات اكثر من عدد السجلات المتكررةفلو سمحتم ممكن بطريقة عاجلة استعلام يمكنني من حذف السجلات المتكررة والمتشابه تماماجزاكم الله خيرامع خالص التحية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmedbb بتاريخ: 20 يوليو 2011 تقديم بلاغ مشاركة بتاريخ: 20 يوليو 2011 الاخ الكريماطلعت على الينك الموجود ووجدت به المطلوب زى ما انت محتاجيا ترى ايه اللى مش شغال معاك نساعدك فيهشكرااحمد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
RDBMS بتاريخ: 20 يوليو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 يوليو 2011 الاخ الكريماطلعت على الينك الموجود ووجدت به المطلوب زى ما انت محتاجيا ترى ايه اللى مش شغال معاك نساعدك فيهشكرااحمد بالبداية اشكرك اخي الكريم ع الرد السريع وبارك الله فيكمبخصوص الموضوع السابق جربت اكثر من استعلام موجود ولكن نتيجة السجلات المحذوفة تكون اكثر من عدد السجلات المكررة عندي من الاساسفلو تفضلتم ترشدوني الى اي من الاستعلامات المذكورة تكون اكثر دقةجزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jadquraan بتاريخ: 20 يوليو 2011 تقديم بلاغ مشاركة بتاريخ: 20 يوليو 2011 السلام عليكم لو تفهم الطريقة رح تعملها لحالك اقولك كيف اول شي اعمل select تجيب السجلات المتشابه حسب الاعمدة اللي انت تحددها مثال نفرض انه عندي جدول اسمه table1 وفي الاعمدة التالية وهي مجال البحث ( التأكد من انها غير مكررة ) test1,test2,test3,test4والآن الـ select اللي تحدد انه يوجد في تكرار select count(*), test1,test2,test3,test4 from table1 group by test1,test2,test3,test4 having count(*) >1 هذه الجملة تجلب لك البيانات المتكررة فقط الان يمكنك تنفيذ عملية الحذف كالتالي delete from table1 where test1 in ( select count(*), test1,test2,test3,test4 from table1 group by test1,test2,test3,test4 having count(*) >1 ) اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
RDBMS بتاريخ: 21 يوليو 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يوليو 2011 السلام عليكم لو تفهم الطريقة رح تعملها لحالك اقولك كيف اول شي اعمل select تجيب السجلات المتشابه حسب الاعمدة اللي انت تحددها مثال نفرض انه عندي جدول اسمه table1 وفي الاعمدة التالية وهي مجال البحث ( التأكد من انها غير مكررة ) test1,test2,test3,test4والآن الـ select اللي تحدد انه يوجد في تكرار select count(*), test1,test2,test3,test4 from table1 group by test1,test2,test3,test4 having count(*) >1 هذه الجملة تجلب لك البيانات المتكررة فقط الان يمكنك تنفيذ عملية الحذف كالتالي delete from table1 where test1 in ( select count(*), test1,test2,test3,test4 from table1 group by test1,test2,test3,test4 having count(*) >1 ) في البداية جزاكم الله خيرا والله يوفقك انت واولادك وزوجتك وسائر المسلمينثاني استاذي انا جربت هالستيتميت لعمود واحد وظهرت وياي اشكاليةttoo many values-ora913بيه مشكلة بعدد الاعمدة مع اني اخترت عمود واحد فقطجزاكم الله خيرا ) اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jadquraan بتاريخ: 25 يوليو 2011 تقديم بلاغ مشاركة بتاريخ: 25 يوليو 2011 (معدل) اخي العزيز اعتذر عن الخطأ وهو كالتالي في جملة الاستعلام الثانية يجب تحديد نفس عدد الاعمدة في جملة الحذف ويصبح الكود كما يلي delete from table1 where test1 in ( select test1 from table1 group by test1,test2,test3,test4 having count(*) >1 ) تم تعديل 25 يوليو 2011 بواسطة jadquraan اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mahmoud Ahmed El-Sayed بتاريخ: 12 أغسطس 2011 تقديم بلاغ مشاركة بتاريخ: 12 أغسطس 2011 (معدل) Hi,try this code that delete duplicated records except one record of them DELETE FROM table1 WHERE ROWID IN ( SELECT rwid FROM (SELECT ROWID rwid, ROW_NUMBER () OVER (PARTITION BY test1, test2, test3) rn FROM table1) WHERE rn > 1) which table1 is Table name,test1, test2 ,test3 is the matched table data that you want to delete redundant of them. تم تعديل 12 أغسطس 2011 بواسطة mah6326955 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mahmoud Ahmed El-Sayed بتاريخ: 12 أغسطس 2011 تقديم بلاغ مشاركة بتاريخ: 12 أغسطس 2011 Hi,You can use another solution that doesn't use analytical functions DELETE FROM table1 WHERE ROWID IN ( SELECT ROWID FROM table1 t WHERE EXISTS ( SELECT 1 FROM table1 WHERE test1 = t.test1 AND test2 = t.test2 AND test3 = t.test3 AND ROWID > t.ROWID)); 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mo2013 بتاريخ: 8 فبراير 2017 تقديم بلاغ مشاركة بتاريخ: 8 فبراير 2017 انا عايز احذف البيانات المتكررة فى القاعدة دة الجدول متكرر فية بيانات نفس الشخص من رقم 1 الى 12 لكن بكود 1 ومن رقم 13 الى 15 بس بكود 2 انا عايز احذف البيانات كلها للشخص ودة متكرر كثير فى الجدول https://drive.google.com/open?id=0B1PdtC7dd5B7WHdrN3ZhVm5uQ1U اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.