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

استعلامات في قاعدة كلية

مغلق
بدأه مبرمجه جديده في 26 مارس 2005 · 2 رد · 568 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا انشئت قاعدة بيانات لكلية اتصالات وانشئت جداولها الي هي للطالب وللمدرب وللقسم وللمادة وللبحث وللامتحان وللنشاط

اذا طلب مني استعراض نشاطات الطلاب وتاريخ النشاط لطلاب مواليد 1404 هـ

select*from department

where dete=1404

هل اجابتي صحيحة؟

واذا طلب مني التعديل في بيانات المدرب نايف بعد ان تم تحويله من قسم physics الى قسم math

uppdate instrctor

set physics=math

where name='naif

ارجو تصحيح غلطي واعطاء حلول اخرى لنفس المطلوب

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

ولكم كل الشكر

#2

السلام عليكم

ارجو التوضيح اكثر لأنه في البداية المفترض يكون التاريخ هو تاريخ ميلاد الطالب ويجب ان يكون في جدول الطالب وليس في department

department بالاضافة الى ان النشاط الطلابي يكون في جدول النشاط وليس في جدول القسم وان افترضت ان كان هنا تاريخ ميلاد

الطالب في جدول القسم

فالاستعلام الذي كتبتيه غير صحيح لأن

date=1404 اي ان حقل تاريخ datetime لا يساوي int

ويمكن كتابته بالشكل التالي

select * from department where year(date)=1404

وبالنسبة للاستعلام الثاتي

الاستعلام صحيح ان كان هناك مدرب واحد اسمه نايف ولكن ان كان هناك اكثر فأنه سينفذ على الكل وعليكي اضافة شرط اخر يحدد بالظبط ايا نايف تقصدين

best regards

#3

وعليكم السلام ورحمة الله وبركاته

أولاً أود التنويه على هذه الكلمة "dete" وأظن أنه خطأ إملائي والمقصود بها date وهذا خطأ أصلاً لأنها كلمة محجوزة في ال sql وعند استخدام حق بهذا الاسم يجب أن يكون هكذا [date] وأيضاً عند استدعاءه المهم الأفضل استخدام اسم آخر للحقل

بالنسبة للسؤال

عند استخدام البحث عن تاريخ محدد نستخدم جملة مثل الآتية :

SELECT * FROM department
WHERE (MyDate =  CONVERT(DATETIME, '1404'))

طريقة التعديل المذكورة صحيحة

بالنسبة لاختيار حقول في أكثر من جدول يمكن استخدام عبارة مثل

SELECT     dbo.Tbl_Area.AreaSequence, dbo.Tbl_Area_Manager.AreaManagerName
FROM         dbo.Tbl_Area INNER JOIN
                      dbo.Tbl_Area_Manager ON dbo.Tbl_Area.AreaId = dbo.Tbl_Area_Manager.AreaId

وطبعا نستخدم الربط JOIN ، وهذا المثال من أحد برامجي يقوم بجلب بيانات تسلسل المنطقة من جدول المناطق واسم مدير المنطقة من جدول مدراء المناطق

وفقك الله

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

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