الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

بتاريخ:

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

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


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

بتاريخ:

اخي الكريم
يمكن استخدام IN في هذه العملية

select eno from elco where loc in ('A','B','C');



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

http://www.araboug.org/ib/index.php?showtopic=13003

تم تعديل بواسطة Admin05

بتاريخ:
  • كاتب الموضوع

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


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

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

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

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

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

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

مشكور كتير

بتاريخ:

الاخ الكريم
معذرة يبدو انني فهمت سؤالك غلط
وجل من لا يسهو
على اية حال اليك الحل

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.org/ib/index.php?showtopic=13003

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

تم تعديل بواسطة Admin05

بتاريخ:

السلام عليكم

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


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
ثم نربط بينهم جميعا
و سيكون الناتج هو فقط الذي سكن في كل المناطق
بالتوفيق

بتاريخ:

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

بتاريخ:
  • كاتب الموضوع

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

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

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.