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

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

صورة
- - - - -

سؤال SQL محيرني كتير


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

#1 AmercO

AmercO

    عضو

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

تاريخ المشاركة 04 April 2006 - 04:16 AM

السلام عليكم ..
أشكر كل القائمين على هذا المنتدى الرائع .. أنا جديد نسبياً على عالم الأوراكل .. و أرجو ان تساعدوني بحل هذا السؤال :

عندك جدول إسمه ELOC .. به عمودين ، عمود يمثل رقم الموظف و الثاني يمثل مكان سكنه
مثلاً :
ELO
------------------
LOC | ENO
1 | A
2 | B
1 | B
3 | D
1 | C
2 | A
1 | E
4 | A
السؤال ! : أكتب جملة SQL ترجع كل الموظفين الذين أقامو في المناطق التالية جميعه(A,B,C)


و شكراً جزيلاً ..لكم

#2 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 04 April 2006 - 09:42 AM

اخي الكريم
يمكن استخدام IN في هذه العملية
select eno from elco where loc in ('A','B','C');

راجع هذا الرابط

http://www.araboug.o...showtopic=13003

تم التعديل بواسطة Admin05, 04 April 2006 - 09:44 AM.

۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#3 AmercO

AmercO

    عضو

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

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

مشكور كتير أخي .. و لكن ليس هذا الجواب إللي أنا عايزه .. أنا فكرت بهاي الطريقة ما بنفع ...


الفكرة هي كالتالي :
نفحص أول ريكورد و نخلي الكورسر واقف عليها و نشوف شو الloc إلها و بعدين نشوف باقي الloc هل هو ساوي للقيم المطلوبة أم لا ...

مثلاً بالجملة إللي انتا اعطيتني اياها حيرجعلك القيم مكررة ..

لكن الجواب الصح هوا رقم واحد فقط

يعني لو تشوف الجدول منيح حتلاقي الموظف رقم 1 هو فقط إللي سكن بالمناطق ال3 جميها

يا ريت لو تفكر شوي ..

على فكرة أنا مش مبتدئ عالآخر ..أنا متوسط بالأوراكل .. بس بعتبر حالي صفر لانه كل ما بعرف شي بلاقي 100 شي لسة لازم أعرفه ..

مشكور كتير

#4 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 04 April 2006 - 03:19 PM

الاخ الكريم
معذرة يبدو انني فهمت سؤالك غلط
وجل من لا يسهو
على اية حال اليك الحل
SELECT ENO FROM ELOC
WHERE LOC ='A'
INTERSECT
SELECT ENO FROM ELOC
WHERE LOC='B'
INTERSECT
SELECT ENO FROM ELOC
WHERE LOC='C'
بالنسبة ال INTERSECT
يمكنك مراجعة هذا الرابط الدرس السابع
ستجد التالي


INTERSECT Query

ومبدأ عمله يشبة ال union وهو دمج البيانات مع فارق انه يعرض البيانات الموجودة في الجدول الاول والتي غير موجودة في الجدول الثاني يعني يعرض الغير مكرر فقط بحيث يقارن ان رقم المورد سوف يتكرر في الثلاثة يعني في اشتراك في الثلاثة جمل

select field1, field2, . field_n
from tables
INTERSECT
select field1, field2, . field_n
from tables;

مثال
select supplier_id
from suppliers
INTERSECT
select supplier_id
from orders;

http://www.araboug.o...showtopic=13003

فما رأيك بالحل :)

تم التعديل بواسطة Admin05, 04 April 2006 - 03:24 PM.

۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#5 هانى سند

هانى سند

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

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

تاريخ المشاركة 04 April 2006 - 03:34 PM

السلام عليكم

يمكن ذلك عن طريق الكويري الاتي

SELECT T.ENO FROM ( SELECT   ENO ENO   
FROM   ELOC 
   WHERE  LOC='A' ) T ,
 ( SELECT   ENO  ENO1
FROM   ELOC 
    WHERE  LOC='B'  ) T1,( SELECT   ENO ENO2  
FROM   ELOC 
    WHERE  LOC='C'  )  T2
 WHERE  T.ENO=T1.ENO1
  AND  T1.ENO1=T2.ENO2
  AND  T.ENO=T2.ENO2 
و فكرة هذا الكويري هي عمل انلاين فيو بالمناطق التي تريد ان تختار الموظفين الذين سكنوا فيها جميعا و هي في سؤالك A, B , C
ثم نربط بينهم جميعا
و سيكون الناتج هو فقط الذي سكن في كل المناطق
بالتوفيق

#6 هانى سند

هانى سند

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

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

تاريخ المشاركة 04 April 2006 - 03:36 PM

الاخ ADMIN05 الظاهر كنا بنرد في نفس الوقت :)
يلا اللي سبق كل النبق بقي :)
علي العموم الفكرة واحدة و لكن التنفيذ مختلف
مشكور
بالتوفيق

#7 AmercO

AmercO

    عضو

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

تاريخ المشاركة 04 April 2006 - 04:46 PM

مشكوريييييين أخ Hanon_OCP و أخ Admin05

شكراً كتير و ربنا يجعله في ميزان حسناتكم إن شاء الله
هدا الحل إللي كنت عايزه انا :)