إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ايجاد التكرارت


7 رد (ردود) على هذا الموضوع

#1 AHMED BASHA

AHMED BASHA

    مشترك

  • الأعضــاء
  • 187 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 04 February 2009 - 07:07 PM

بسم الله الرحمن الرحيم

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

عندي قائمة باسماء الموظفين
وعاوز اعمل SELECT اسماء الموظفين المشابهين في الاسم حتى الاسم الثالث (الجد)
مع العلم اني مقسمهم في طريقة التسمية
الاسم الاول- الاسم الثاني -الاسم الثالث- الاسم الرابع(اللقب)


شكرا وجزاكم الله خيرا


استغفر الله العظيم الذي لا اله الا هو الحي القيوم واتوب اليه

استغفر الله العظيم الذي لا اله الا هو الحي القيوم واتوب اليه

استغفر الله العظيم الذي لا اله الا هو الحي القيوم واتوب اليه


#2 mohooo81

mohooo81

    عضو نشط

  • الأعضــاء
  • 214 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 February 2009 - 01:11 AM

السلام عليكم اخى جرب هذا الكود
هنفترض ان اسماء الكولم هية

fname,sname,tname,fname

select nullif(fname,sname),nullif(sname,tname),nullif(tname,fname)from names

تم التعديل بواسطة mohooo81, 05 February 2009 - 01:12 AM.

مالا يدرك كلة لا يترك كلة

#3 MMA

MMA

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 05 February 2009 - 01:53 PM

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

في البداية أشكر الأخ mohooo81 علي الرد الأكثر من رائع ، بس ليا سؤال بسيط ، هل الأمر NullIf موجود في أوراكل 8 و 9 ، حقيقتاً حالياً أنا لست منصب أوراكل 9 لدي ، ولكن أعتقد أن هذا الأمر غير موجود ، إذاً فمبرمجي الأوراكل القديمة لن يستفيدون من هذا الأمر بشيء !!!

إذاً فالحل الأمثل هو الإستخداد الدائم للأوامر الإفتراضية Standerd ، بحيث أن نستخدم كونسيبت السيكوال ، بالإضافة الي ذلك أننا في الوضع الحالي نتحدث عن سيكوال ، يعني ممكن أكسيس أو أوراكل أو سيكوال سيرفر أو فوكس برو أو ..... الي آخرة.

لذلك إسمح لي أن أعرض الإجابة مرة ثانية ولكن بالشغل الإفتراضي Consept مع الإعتزار !!!


نفرض أننا لدينا جدول كما يلي :

CREATE TABLE EMP
(
   EMP_ID   NUMBER(10),
   EMP_CODE  VARCHAR2(20),
   EMP_FNAME  VARCHAR2(50),
   EMP_MNAME VARCHAR2(50),
   EMP_LNAME  VARCHAR2(50),
   EMP_SNAME  VARCHAR2(50),
   CONSTRAINT PK_EMP PRIMARY KEY(EMP_ID),
   CONSTRAINT UQ_EMP_CODE UNIQUE(EMP_CODE),
   CONSTRAINT UQ_EMP_NAME UNIQUE(EMP_FNAME,EMP_MNAME,EMP_LNAME,EMP_SNAME)
)
/

السؤال الحالي الذي يطرح نفسة ، كيف يمكنني معرفة الأسماء المتكررة في أي نوع من أنواع قواعد البيانات ؟؟؟

أفضل شيء هو إستخدام الـ Group By علي أول ثلاثة أسماء ، وإجراء عداد Count علي أي حقل من الحقول المتاحة ومن ثم إيجاد عدد التكرارات ، وأي تكرار يزيد عن 1 يتم عرضة علي الفور !!!

كما أنه من الممكن عرض الأسماء الثلاثة الأولي دون تكرار ، أو مع التكرار كما يلي :

SELECT Emp.Emp_Fname, Emp.Emp_Mname, Emp.Emp_Lname
FROM Emp
GROUP BY Emp.Emp_Fname, Emp.Emp_Mname, Emp.Emp_Lname, (Emp.Emp_Fname & ' ' & Emp.Emp_Mname & ' ' & Emp.Emp_Lname)
HAVING Count(0) >1



بالتوفيق

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )

 


#4 AHMED BASHA

AHMED BASHA

    مشترك

  • الأعضــاء
  • 187 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 February 2009 - 03:11 PM

بسم الله الرحمن الرحيم

اشكر الاخوة الافاضل(moh0008-MMA) على ردهم وانا في غاية الامتنان
.
واشكر جميع الزملاء

#5 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 February 2009 - 05:44 PM

الأخوة الاعزاء أعتقد أن الاخ صاحب الموضوع لايثصد كده هو يقصد عرض كل الناس الاي أسماؤهم متشابهة زي مثلا الاستعلام عرض الكل الاي متشابه إلى الجد ولكن أخي mma استعلامك سيعرض فقط الاسم المتكرر ولكن نريد عرض الكل

أعتقد الحل اني نعمل elf join للجدول ياريت نحاول عمل ال query الصح وشكرا لكم جميعا

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#6 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,869 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 06 February 2009 - 04:09 AM

السلام عليكم
اخواني....ولكن ماذا لو كانت عندي الاسماء مختلفة بـــ SPELLING ?
متلا: AHMAD,AHMED
????????????????

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#7 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 06 February 2009 - 01:56 PM

دي سهلة يأخي باستخدام lower or upper تنحل المشكلة لكن فعلا هذا الاستعلام شاغلني وحاولت اعمله با self join إلا أنه جاء ببيانات مكررة ياريت حد يحاول يساعدنا فيه

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#8 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 08 February 2009 - 02:38 PM

lower or upper ليست حل في هذه الحالة لان المشكلة ليست الاحرف الكبيرة او الصغيرة بل اختلفت طريقة كتابة الاسم

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا