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

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

صورة
- - - - -

استخراج القيم المتكررة


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

#1 العقلاني

العقلاني

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 27 August 2006 - 09:27 PM

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

كيف الحال إن شاء بخير

أنا عضو جديد ومبتدأ في الأوراكل ومركز الآن في query


بس عندي سؤال بسيط جداً

لو كان عندي في الجدول أمر مكرر وأنا أبغى بس أوجد هذا المكرر كيف؟؟! :(

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

#2 ابو صالح

ابو صالح

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

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 28 August 2006 - 02:35 AM


SQL>create table test1 (col1 number);



SQL>insert into test values (1);



SQL>insert into test values (1);



SQL>insert into test values (2);



SQL>insert into test values (3);



SQL>insert into test values (3);



SQL>insert into test values (4);





SQL>select * from test1;

                 COL1

----------------------

                          1

                          1

                          2

                          3

                          3

                          4



6 rows selected.



select * from test1

where rowid <> ( select max(rowid) from test1 test2 

                                                   where test2.col1=test1.col1);





                 COL1

----------------------

                         1

                         3



2 rows selected.







SQL>'




<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#3 sameh bakkar

sameh bakkar

    مشرف قسم المبتدئين

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

تاريخ المشاركة 28 August 2006 - 01:04 PM

يا ابو صالح اجابه اعتقد انها غير صالحه فالشخص يريد ان يبحث عن نص و ليس رقم لأنها لو رقم تكون سهله و لكنى اعتقد ان الحل يمكث فى
set operators

ونرجو الإفاده

Sameh Bakkar

Principal Oracle Apps Techno-Functional Consultant / Oracle E-Business Suite Certified Trainer

Oracle E-Business R11 Suite Applications Workflow Certified Expert

Oracle E-Business Suite R12 HCM Certified Implementation Specialist

Oracle Certified Professional

ITIL V3 Foundation certified

Microsoft Project certified




الموقع الخاص: AppsLead | Your Honest Guide | Sameh Bakkar


#4 العقلاني

العقلاني

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 28 August 2006 - 03:47 PM

SQL>create table test1 (col1 number);

SQL>insert into test values (1);

SQL>insert into test values (1);

SQL>insert into test values (2);

SQL>insert into test values (3);

SQL>insert into test values (3);

SQL>insert into test values (4);


SQL>select * from test1;
                 COL1
----------------------
                          1
                          1
                          2
                          3
                          3
                          4

6 rows selected.

select * from test1
where rowid <> ( select max(rowid) from test1 test2 
                                                   where test2.col1=test1.col1);


                 COL1
----------------------
                         1
                         3

2 rows selected.



SQL>'

عرض المشاركة



يا أخي الحبيب أنت ما فهمتني

أخي أنا أبغى لو فيه كوري يعطيني أي قيمة مكررة في الجدول

وأنا ما أبغى ensert يعني أنا الآن موظف جديد في شركة تستخدم

الأوراكل سؤال لو كان عندي جدول جاهز وفيه أعمار الموظفين مثلاً

وأبغى أعمل

select empage
from emp

كيف أطلع الأعمار المتشابهه من هذه الجدول

#5 m_ahmed

m_ahmed

    مشترك

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

تاريخ المشاركة 28 August 2006 - 03:57 PM

السلام عليكم

جرب هذا الكود طبعا بعد تغير اسم الجداول والأعمدة

select * from bill_info
where job_no in (select job_no from bill_info group by job_no having count(*) > 1)


#6 abd l rahman

abd l rahman

    مشترك

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

تاريخ المشاركة 28 August 2006 - 04:05 PM

السلام عليكم ورحمة الله وبركاته
جزاك الله خيرا اخ m_ahmed ممتاز
فكرة رائعة

#7 ابو صالح

ابو صالح

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

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 28 August 2006 - 04:57 PM

اخي sameh bakkar

بامكانك استخدامها ايظا مع النصوص ايظا

SQL> select * from test1;

COL1
----------
Ameen
fahad
fahad
Mohammed
Mohammed


SQL> select * from test1
  2  where rowid <> ( select max(rowid) from test1 test2
  3  where test2.col1=test1.col1);

COL1
----------
fahad
Mohammed


<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#8 hobaa

hobaa

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

  • المجموعة الماسية
  • 980 مشاركة

تاريخ المشاركة 29 August 2006 - 04:01 PM

بس انا تعبت من التفكير فى المشكله دى و اخرى انك ممكن تعمل جملة استعلام عاديه ذى
select empno
from emp
group by  empno;
واذا كنت تريد المتشابهين لاسم معين ممكن تضيف شرط ذى
select empno,ename
from emp
where ename='ehab'
group by  empno;
اعتقد ان اضافة شرط سوف يسهل العمليه

اتمنى يكون حل او فكره لحل

ايهاب وجدى

تم التعديل بواسطة hobaa, 29 August 2006 - 04:02 PM.


Oracle Developer

Oracle DBA
Oracle Instructor

Egypto-Soft



#9 العقلاني

العقلاني

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 02 September 2006 - 05:01 PM

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

يعطيكم العافية أخوتي الكرام على تفاعلكم الجميل مع موضوعي

وأخص بالشكر أخي m_ahmad

والذي أستفدت من مشاركته

وفي النهاية طلع هذا الكوري

SELECT COUNT(*),TT_VOUCHER_ID
FROM TRANSACTION_TABLE
WHERE TT_TRANSFER_CODE IN(100)
GROUP BY TT_VOUCHER_ID
HAVING COUNT(*)>1