الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية حذف الحقول المكررة

بدأه KHALID QASIM في 25 يناير 2016 · 10 رد · 1,001 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوتي الأعزاء السلام عليكم

أنشأت جدول فيه حقل رقمي وادخلت فيه بيانات كانت قسم منها متكررة وسؤالي عن كيفية حذف البيانات المتكررة في هذا الجدول من خلال نافذة Command Window على فرض اسم الحقل هو num وشكرا لكم علما ان عدد السجلات هو اكثر من عشرين مليون سجل ؟؟؟

#2

use your table name

index on num to xx unique

use your table name index xx

brow

then export data to a new table 

1

Persistent Fox

#3

شكرا للأخ الكريم على المتابعة

اخي خالد هنالك اكثر من طريقة وأسرع طريقة هي استخدام الاستعلام والناتج يكون في جدول جديد

لنفترض اسم الجدول lioniraq

واسم الحقل code

يكون الإيعاز هو 

Select dist(code) from lioniraq into table clioniraq

 

أعلمنا النتيجة

1
#4

السلام عليكم 

استخدم هذا الكود وان شاء الله يقوم بحذف الارقام المكررة

 

SELECT 1
USE اسم الجدول
INDEX ON num TO a
GO BOTTOM 
r_test=RECNO()
GO TOP 
DO WHILE .not. EOF()
r_num=RECNO()
num1=num
GO TOP
GO (r_num)
SKIP 
DO WHILE .not. EOF()
    IF num1=num THEN 
    DELETE 
    ENDIF 
    SKIP 
ENDDO
GO (r_num)
SKIP 
IF r_test=RECNO() THEN 
    EXIT 
ENDIF 
ENDDO

remove_tekrar.prg

تم تعديل هذه المشاركة بواسطة اكرم_2008 في 30 يناير 2016 في 08:59

1
ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#6

السلام عليكم..... كيف الشباب.... منورين والله

أستغفر الله العظيم و أتوب إليه

#7

في حالة ان الجدول به غير الحقل Num

قد يفيدك التالي :

 

SELECT Test
INDEX ON Num TAG Num
Or..
SET ORDER TO TAG Num

SELECT aa.* FROM ( ;
	SELECT DIST(Num) AS Num, COUNT(Num) AS nCount FROM test GROUP BY Num ) aa WHERE nCount > 1  ;
	INTO CURS crsDupl ORDER BY Num
SELECT crsDupl
SCAN
	m.nNo=Num
	SELECT test
	LOCATE FOR test.num = m.nNo
	IF FOUND()
		m.nRecno=RECNO()
		DELETE FROM test WHERE test.num = m.nNo AND RECNO('Test') > m.nRecno
	ENDIF
	SELECT crsDupl
ENDSCAN
SELECT test

وبعد الانتهاء قد بعمل Pack للجدول حتى تتخلص نهائياً من السجلات الغير مرغوب بها

ولا تجرب قبل عمل نسخة احتياطية من الجداول

1

أستغفر الله العظيم و أتوب إليه

#8

السلام عليكم ورحمة الله وبركاته

ما شاء الله لا قوة الا بالله تبارك الله 

عودة مباركة و فيها الفائدة للجميع

منور اخي عبدالله و اخي اسد العراق 

ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#9

شكراً اخوتي على المتابعة الجميلة

اخوتي الاعزاءاليكم معالج لحذف التكرار من الجداول مع عمل نسخة للبيانات الاصلية لمن يحتاجهُ بالاضافة لمشاركة اخوتي الاعزاء

 

 

ملاحظة : المعالج عبارة عن برنامج تنفيذي بالاصدار التاسع ( يحتاج ملفات مكتبية اذا لم يتوفر الفيجوال الفوكس برو الاصدار التاسع)

remove_dupli.rar

تم تعديل هذه المشاركة بواسطة lion-lion في 31 يناير 2016 في 20:40

#10

النور نورك اخي اكرم..والجميع

أستغفر الله العظيم و أتوب إليه

#11

الاخوة الأعزاء

اشكركم على الأجوبة الجميلة وقد استخدمت جملة SQL  لانجاز المهمة .

1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…