الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل التعليمة هذه صحيحة؟

مغلق
بدأه النهر في 4 يناير 2004 · 8 رد · 527 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

SQL> SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER

FROM (STUDENT JOIN COURSE OVER MAJOR)

WHERE ID=10;

هل التعليمة هذه صحيحة

في جدول الطالب فيه : الاسم و

IDو القسم و

وفي جدول المواد : المادة وساعاتها و استاذتهاو والقسم

والجدولين مربوطين بالقسم

#2

أعتقد أنها غير صحيحة ، لأن over ليست معرفة لدى أراكل

هذا و الله أعلم

أعتقد انه عليك أن تستخدم using بدل من over

*** كما عليك أن تتأكد من كلمة techer ، أم أنها teacher ؟؟؟؟

جرب هذه :

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE using (MAJOR)
WHERE ID=10;

هذا إذا كان كلمة major مكررة داخل الجدولين بنفس الإسم .

أما إذا كانت مكررة و لكن ليست بنفس الإسم كأن تكون في أحد الجداول major ، و الثاني major_id، هنا عليك أن تستخدم on بدلا من using

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE on (student.MAJOR=course.major_id)
WHERE ID=10;

للأسف لا يوجد لدي أوراكل على هذا الجهاز حتى أتأكد منها.

و لكن سوف أؤكد لك صحتها من خطئها حال انتقالي على جهاز عليه أوراكل

و السلام عليكم

#3

أعتقد أنها غير صحيحة ، لأن over ليست معرفة لدى أراكل

هذا و الله أعلم

أعتقد انه عليك أن تستخدم using بدل من over

*** كما عليك أن تتأكد من كلمة techer ، أم أنها teacher ؟؟؟؟

جرب هذه :

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE using (MAJOR)
WHERE ID=10;

هذا إذا كان كلمة major مكررة داخل الجدولين بنفس الإسم .

أما إذا كانت مكررة و لكن ليست بنفس الإسم كأن تكون في أحد الجداول major ، و الثاني major_id، هنا عليك أن تستخدم on بدلا من using

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE on (student.MAJOR=course.major_id)
WHERE ID=10;

للأسف لا يوجد لدي أوراكل على هذا الجهاز حتى أتأكد منها.

و لكن سوف أؤكد لك صحتها من خطئها حال انتقالي على جهاز عليه أوراكل

و السلام عليكم

#4

أعتقد أنها غير صحيحة ، لأن over ليست معرفة لدى أراكل

هذا و الله أعلم

أعتقد انه عليك أن تستخدم using بدل من over

*** كما عليك أن تتأكد من كلمة techer ، أم أنها teacher ؟؟؟؟

جرب هذه :

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE using (MAJOR)
WHERE ID=10;

هذا إذا كان كلمة major مكررة داخل الجدولين بنفس الإسم .

أما إذا كانت مكررة و لكن ليست بنفس الإسم كأن تكون في أحد الجداول major ، و الثاني major_id، هنا عليك أن تستخدم on بدلا من using

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE on (student.MAJOR=course.major_id)
WHERE ID=10;

للأسف لا يوجد لدي أوراكل على هذا الجهاز حتى أتأكد منها.

و لكن سوف أؤكد لك صحتها من خطئها حال انتقالي على جهاز عليه أوراكل

و السلام عليكم

#5

أعتقد أنها غير صحيحة ، لأن over ليست معرفة لدى أراكل

هذا و الله أعلم

أعتقد انه عليك أن تستخدم using بدل من over

*** كما عليك أن تتأكد من كلمة techer ، أم أنها teacher ؟؟؟؟

جرب هذه :

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE using (MAJOR)
WHERE ID=10;

هذا إذا كان كلمة major مكررة داخل الجدولين بنفس الإسم .

أما إذا كانت مكررة و لكن ليست بنفس الإسم كأن تكون في أحد الجداول major ، و الثاني major_id، هنا عليك أن تستخدم on بدلا من using

SELECT ID,NAME,COURSE,HOUR,MAJOR,TECHER
FROM STUDENT JOIN COURSE on (student.MAJOR=course.major_id)
WHERE ID=10;

للأسف لا يوجد لدي أوراكل على هذا الجهاز حتى أتأكد منها.

و لكن سوف أؤكد لك صحتها من خطئها حال انتقالي على جهاز عليه أوراكل

و السلام عليكم

#6

آسف ، لم أقصد أن أكرر الاجابة ، و لكن أعتقد أن هناك خلل ما إما في الموقع أو في هذا الجهاز الذي بين يدي .

أرجو المعذرة

#7

اشكرك اخي الكريم على ردك، جزاك الله خير

وهذا اللي كتبته بس مدري صح لا لا؟

SQL>select name,major,course,hours,teacher

from student,course

where ID=10;

#8

السلام عليكم

ارجو ان تبين ما هي اسماء الحقول التي في الجداول بالضبط .

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

select name,major,course,hours,teacher

from student,course

where ID=10

and student.major=course.major_id

الجملة الأخيرة التي ضفتها على جملتك هي التي ستربط الجدولين معا ، مما يؤدي إلى نتائج مفهومة .

هذا و الله أعلم

و السلام عليكم

#9

أفضل الطرق للتأكد من صحة الجملة أو خطأها هي التجربة المباشرة .

و إذا لا يوجد عندك أوراكل على الجهاز ، فإنه من الصعب أن تتعلم و تتطور بهذه الطريقة .

هذا الموضوع مغلق.

مواضيع مشابهة