• 0
kathy

إيجاد بيانات من بيانات عشوائية

سؤال

السلام عليكم,,,

لدي جدولين ,جدول أسماء الطلاب وجدول الدرجات أريد أن أقوم بعمل إستعلام يعيد جدول فيه أسماء الطلاب

وإستعلام يعيد جدول فيه درجات الطلاب الذين تم إختيارهم في الإستعلام الأول,

المشكلة أن الإستعلام الأول الذي يعيد أسماء الطلاب يعيد البيانات بشكل عشوائي,كيف سأعرف أرقام الطلاب

التي نتجت من الإستعلام الأول للحصول على درجاتهم في الإستعلام الثاني؟؟

أرجو أن يكون السؤال واضح

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

14 إجابة على هذا السؤال .

  • 0

أختي العزيزه بالنسبة للاستعلام الأول بسيط و قد قمت أنتي بتطبيقه

أما الثاني قولي لي ماذا فعلت...

بما أنك بنيتي استعلام للطلاب اللذين تريديهم فيفترض أن تقومي عند بناء استعلام علامات الطلاب أن تختاري الاستعلام الأول و الذي به الطلاب اللذين تريدنهم فقط و ليس جدول الطلاب الرئيسي

تم تعديل بواسطه بشار عواد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
بما أنك بنيتي استعلام للطلاب اللذين تريديهم فيفترض أن تقومي عند بناء استعلام علامات الطلاب أن تختاري الاستعلام الأول و الذي به الطلاب اللذين تريدنهم فقط و ليس جدول الطلاب الرئيسي

لم أفهم ما تعني؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
لم أفهم ما تعني؟؟

اولاً: كيف ستقومي ببناء استعلام؟

هل هي بالطريقة المرفقة بالصورة أم من خلال الكود؟

post-60107-1212581182_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

من خلال كتابة الإستعلام داخل stored procedure

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مممممممم...

لا علم لي

و لكن من خلال View يكون الوضع أسهل بحث تستطيعين بناء 2 Views الأول تحددين به معلومات طلاب معينين و الثاني تستخرجين به علامات الطلاب الذين تم تحديدهم بالـ View الأول

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل من الصعوبة عمل مثل ذلك كون البيانات الناتجة من الإستعلام الأول عشوائية ,,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

??????

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ممكن ذلك بعدة طرق ومن ضمنها الطريقة التقليدية باستخدام الجدوال المؤقتة (طبعا لان البيانات عشوائية)

select * into #tt from students

بعد ذلك نعمل استعلام الدرجات

select * from grades where stID in (select stid from #tt)

select * from #tt

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ممكن تعطيني فكرة عن الطرق الأخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم،

الأخت العزيزة إن كنتي تستطيعين استخدام الـ View هي أفضل الطرق

ابني View و سميه Students_Info و اختاري جدول معلومات الطلاب و اختاري الأعمدة التي تريدينها من هذا الجدول و ضعي في عمود رقم الطالب في خانة Criteria جملة إما (< من أو >) أو جملة Between 10 And 200

و من ثم إبني View آخر سميه Students_Marks و اختاري جدول علامات الطلاب و الـStudent_Info الـ View الذي بنيناه سابقاً مع مراعاة ربط عمود رقم الطالب في جدول العلامات مع عمود رقم الطالب في الـ View السابق، و كلما أردت طلاب آخرين فقط عدلي الـ Criteria في الـView الأول

السلام عليكم

ممكن ذلك بعدة طرق ومن ضمنها الطريقة التقليدية باستخدام الجدوال المؤقتة (طبعا لان البيانات عشوائية)

select * into #tt from students

بعد ذلك نعمل استعلام الدرجات

select * from grades where stID in (select stid from #tt)

select * from #tt

الأخ الحبيب طارق مشكلة الجداول المؤقته هي:

1- تكرار بيانات في جدول آخر و زيادة حجم الداتابيز

2- عدم المقدرة بتنفيذها مرة أخرى إلا إذا حذفت الجدول و قمت بهذه العملية من جديد.

3- فقد العلاقات بين الجداول مع هذا الجدول المؤقت مما يعرضها للخطأ.

و شكراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
ابني View و سميه Students_Info و اختاري جدول معلومات الطلاب و اختاري الأعمدة التي تريدينها من هذا الجدول و ضعي في عمود رقم الطالب في خانة Criteria جملة إما (< من أو >) أو جملة Between 10 And 200

و من ثم إبني View آخر سميه Students_Marks و اختاري جدول علامات الطلاب و الـStudent_Info الـ View الذي بنيناه سابقاً مع مراعاة ربط عمود رقم الطالب في جدول العلامات مع عمود رقم الطالب في الـ View السابق، و كلما أردت طلاب آخرين فقط عدلي الـ Criteria في الـView الأول

هذة العملية سوف تعيد جميع البيانات في جدول واحد وأنا أريد أن يعود الناتج في جدولين

جدول يحتوي على معلومات الطلاب العشوائية وجدول يحتوي على درجات الطلاب في الجدول العشوائي الأول

الأخ الحبيب طارق مشكلة الجداول المؤقته هي:

1- تكرار بيانات في جدول آخر و زيادة حجم الداتابيز

2- عدم المقدرة بتنفيذها مرة أخرى إلا إذا حذفت الجدول و قمت بهذه العملية من جديد.

3- فقد العلاقات بين الجداول مع هذا الجدول المؤقت مما يعرضها للخطأ.

كلامك صحيح لكن يمكن إستخدام متغير من نوع Table بدل من إستخدام local temporay table وسيكون أكفأ بالتأكيد

شكرا للمشاركة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

تكرار بيانات في جدول آخر و زيادة حجم الداتابيز

هو مؤقت وفور الانتهاء السيشن اي البروسجير يتم التخلص منه

2

- عدم المقدرة بتنفيذها مرة أخرى إلا إذا حذفت الجدول و قمت بهذه العملية من جديد.

الافضل حذفه فور الانتهاء منه وفي 2005 يمكن استخدام الجدول كمتغير او استخدام Common Table Exporessions

3

- فقد العلاقات بين الجداول مع هذا الجدول المؤقت مما يعرضها للخطأ.

مالنا والعلاقات فهذه العملية تتم في أقل من الثانية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لكن هل إنشاء جدول مؤقت أو تعريف متغيير من نوع جدول لايؤثر على السرعة و performace لقاعدة البيانات؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اكيد طرح مايكروسوفت للجدول كمتغيير اعطى فوائد كثيرة عن الجدول المؤقت العادي .

لكن لا داعي للتخوف من استخدامها فمحرك SQL server يستخدمها بشكل كبير وفي عمليات كثيرة منها عند استخدام Order by في الاستعلامات

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .