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

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

صورة
- - - - -

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


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

#1 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 30 January 2011 - 11:26 AM

السلام عليكم ورحمة الله وبركاته
اولا اشكر اعضاء المندى والمشرفين على المجهودات الجباره انا متابع للمنتدى واحد التلامذه فيه ولاكن فقط بالقرائه وهذي اول مشاركه لي وللاسف كانت بسؤال ولعل هذا السؤال يستفيد منه غيري
انا عندي جدول للمهندسين كل مهندس عنده طلب صيانه يضاف في جدوله ابغى اكتب كود يضيف طلب الصيانه دايركت للمهندس
طبعا حللته بالطريقه التاليه انه (1)- في البدايه يشوف من الي عنده اقل عدد ويضيفله الطلب الجديد الى هنا تمام
بس لم يكتمل الكود لانه (2) في حالات كثير يكونو متساوين بالعدد فابغاه في حالة تساوي مهندسين ياخذ احدهما عشوائي او السجل الاول بالاستعلام
هذا الكود الي كتبته وهو شغال ياليت اصحاب الخبره يضفون عليه التعديل الثاني بحيث في حالت تساوي الاكاونت يختار واحد فقط
select eng_id into  :eng_id   from repair group by eng_id having count(eng_id)=(select min(count(eng_id) ) from  repair group by eng_id );

تحياتي اخوكم محمد الكلبي

#2 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 30 January 2011 - 02:38 PM

يا جمااااعه ساعدوني والله جنني

#3 el_saka

el_saka

    مشترك

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

تاريخ المشاركة 30 January 2011 - 03:30 PM

Dear
Please add the following to your where condition
'and rownum = 1'



#4 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 30 January 2011 - 04:12 PM

يديك الف عافيه انا فهمت بس ماعرفت اضيفها على الكود ممكن اذا ماعليك امر تضيفها على الكود لاني مبتدي وكل الي اكتبه من المواقع

تحياتي

#5 الحمادي

الحمادي

    مشترك

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

تاريخ المشاركة 30 January 2011 - 05:24 PM

عفوا يا صديقي هذا حل شوف هل بيناسب طلبك وطبعا انا عملته على بيانات المستخدم scott

select deptno,rownum  
from (select deptno 
from scott.emp 
group by deptno
having count(deptno)=(select min(count(empno) ) 
                      from scott.emp group by deptno ))   
where rownum=1 ;


#6 AFM.DBA

AFM.DBA

    مشترك

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

تاريخ المشاركة 31 January 2011 - 03:20 PM

السلام عليكم ورحمة الله وبركاته
اولا اشكر اعضاء المندى والمشرفين على المجهودات الجباره انا متابع للمنتدى واحد التلامذه فيه ولاكن فقط بالقرائه وهذي اول مشاركه لي وللاسف كانت بسؤال ولعل هذا السؤال يستفيد منه غيري
انا عندي جدول للمهندسين كل مهندس عنده طلب صيانه يضاف في جدوله ابغى اكتب كود يضيف طلب الصيانه دايركت للمهندس
طبعا حللته بالطريقه التاليه انه (1)- في البدايه يشوف من الي عنده اقل عدد ويضيفله الطلب الجديد الى هنا تمام
بس لم يكتمل الكود لانه (2) في حالات كثير يكونو متساوين بالعدد فابغاه في حالة تساوي مهندسين ياخذ احدهما عشوائي او السجل الاول بالاستعلام
هذا الكود الي كتبته وهو شغال ياليت اصحاب الخبره يضفون عليه التعديل الثاني بحيث في حالت تساوي الاكاونت يختار واحد فقط



حتظبط معاك ان شاء الله

تم التعديل بواسطة AFM.DBA, 31 January 2011 - 03:27 PM.


#7 AFM.DBA

AFM.DBA

    مشترك

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

تاريخ المشاركة 31 January 2011 - 03:28 PM

السلام عليكم ورحمة الله وبركاته
اولا اشكر اعضاء المندى والمشرفين على المجهودات الجباره انا متابع للمنتدى واحد التلامذه فيه ولاكن فقط بالقرائه وهذي اول مشاركه لي وللاسف كانت بسؤال ولعل هذا السؤال يستفيد منه غيري
انا عندي جدول للمهندسين كل مهندس عنده طلب صيانه يضاف في جدوله ابغى اكتب كود يضيف طلب الصيانه دايركت للمهندس
طبعا حللته بالطريقه التاليه انه (1)- في البدايه يشوف من الي عنده اقل عدد ويضيفله الطلب الجديد الى هنا تمام
بس لم يكتمل الكود لانه (2) في حالات كثير يكونو متساوين بالعدد فابغاه في حالة تساوي مهندسين ياخذ احدهما عشوائي او السجل الاول بالاستعلام
هذا الكود الي كتبته وهو شغال ياليت اصحاب الخبره يضفون عليه التعديل الثاني بحيث في حالت تساوي الاكاونت يختار واحد فقط

select eng_id into  :eng_id   from repair  WHERE  ROWNUM=1 group by eng_id having count(eng_id)=(select min(count(eng_id) ) from  repair group by eng_id )ORDER BY ENG_ID ;

تحياتي اخوكم محمد الكلبي



#8 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 31 January 2011 - 04:32 PM

يديكم الف عافيه انا قطع النت عندي في المدينه في حينا سامحوني لتاخري عن الرد

صديقي الحمادي الكود شغال ميه بالميه بس المشكله ولب الموضوع ان اخلي يحط رقم المهندس eng_id في eng_id: زي ماسويته
بالبدايه select eng_id into :eng_id حو الان يختار بس واحد بس مايحطه في الا ايتم يديك العافيه على مجهوداتك وان شاء الله في ميزان حسناتك

اخوك محمد الكلبي

#9 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 31 January 2011 - 04:35 PM

صديقي AFM.DBA تحياتي الجميله الكود الي كتبته لمى شفته فرحت جدا لانه زي ما ابغى بس الغريب مايطلع نتيجه يطلع no rows selected

فما ادري اش المشكله

تحياتي لك
اخوك محمد الكلبي

ملاحظه :
يكفيني بس محاولتكم معي انتم رائعون

#10 eng.alkalbe

eng.alkalbe

    عضو

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

تاريخ المشاركة 01 February 2011 - 03:43 PM

شكرا ياجماعة حليت الموضوع باخذي جملة الحمادي وحذف الراونم منن السليكت شكرا وكان الكود بالشكل التالي
select eng_id INTO :ENG_ID
from (select eng_id
from repair
group by eng_id
having count(eng_id)=(select min(count(eng_id) )
					  from repair group by eng_id ))  
where rownum=1 ;
يديكم الف عافيه

#11 usama mostafa

usama mostafa

    عضو

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

تاريخ المشاركة 24 February 2012 - 05:51 PM

السلام عليكم و رحمة الله و بركاته
معذرة لردي على هذا الإستفسار بعد سنه تقريبا من تاريخه فلم أراه إلا اليوم
و أعرف أنه ليس في موعده المناسب و لكني سأعرض فكرتي للصالح العام لكل المشاركين
تفضل صاحب الإستفسار بالقول
انا عندي جدول للمهندسين كل مهندس عنده طلب صيانه يضاف في جدوله
و هذا في الأساس غير مناسب فلابد أن يكون هناك جدول للمهندسين و آخر لطلبات الصيانه المكلفين بها
جدول المهندسين لكل مهندس سطر واحد به و ليكن أسمه مثلا ENG
و جدول طلبات الصيانه لكل مهندس سطر أو أكثر به و الذي سمي في مثالنا repair
و بذلك تكون الجملة كما يلي


select eng_id into :eng_id
from ENG
where rowid = (
select min(rowid)
from ENG
where eng_id in(
select eng_id  
from repair
group by eng_id
having count(eng_id)=(
select min(count(eng_id) )
from  repair
group by eng_id )));