بتاريخ: 19 مايو 201312 سنة comment_236378 ارجو المساعده لدي نظام فندقي اريد استعلام يعرض الغرف الغير محجوزه خلال الفتره التي ادخلها يعني لدي مثلا 20 غرفه 10 غرف حالتها فارغه و10 غرف حالتها محجوزه خلال فترات مختلفه اريد من الاستعلام ان يرجع الغرف الفارغه والمحجوزه في فتره غير الفتره التي ادخلها وهذه الجداول التي اعمل عليها Create Table Rooms ( Rm_Id Varchar(15) Primary Key, Rmsq_Id Number(10) Not Null Unique, Rmt_Id Number(3) References Roomtype(Rmt_Id) , Rms_Id Number(1) References Roomstate(Rms_Id), Rm_Phon Number(10) Not Null, Rm_Level Number(3) Not Null ) create table reservedroom ( resrm_id number(10) primary key, res_type char(1) not null, resrcrd_id number(10) not null, Rm_Id varchar(15) references rooms( Rm_Id), res_sdate date not null, res_edate date not null ) تم تعديل 20 مايو 201312 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 19 مايو 201312 سنة comment_236396 اخي بس لو توضح لنا اكثر كل كولم ماذا يعني يعني مثلا rm_id ماذاتقصد بها ؟ والباقي ايضا ان شاء الله نقدر نساعدكم اعتقد تستخدم set operatore mins تم تعديل 19 مايو 201312 سنة بواسطة صفر في الاوراكل تقديم بلاغ
بتاريخ: 20 مايو 201312 سنة كاتب الموضوع comment_236436 هذا توضيح لمعنى الاعمده جدول الغرف: Arabic Name Note Constraints Type Name رقم الغرفة (رقم نوع السكن_ الرقم التسلسلي) Primary Key Varchar2(15) Rm_Id الرقم التسلسلي مدخل من المستخدم Unique And Not Null Primary Key Number(10) Rmsq_Id رقم نوع السكن Roomtype.Trm_Id Foreign Key Number(3) Rmt_Id رقم حالة الغرفة Roomstate.Srm_Id Foreign Key Number(1) Rms_Id رقم التحويلة للغرفة Not Null Number(10) Rm_Phon رقم الدور not null Number(3) rm_level رقم الفرع Hotelinfo( Branch_Id) fk Number Branch_Id جدول الغرف المحجوزه Name Type Constraints Note Arabic Name resrm_id number(10) primary key فقط رقم تسلسلي للجدول الرقم التسلسلي rest_id number(1) fk not null res_type(rest_id) رقم نوع الحجز res_id number(10) fk حسب نوع الحجز ناخذ رقم الحجز او التسجيل Reservation(res_id) رقم الحجز (مسبق) rcrd_id number(10) fk custrecord(rcrd_id) رقم التسجيل(آني) Rm_Id varchar2(15) foreign key rooms. Rm_Id رقم الغرفة res_sdate date not null اذا كان نوع الحجز مسبق ناخذ تاريخ البدايه و النهاية من جدول الحجز من تاريخ res_edate date not null اذا كان نوع الحجز مسبق ناخذ تاريخ البدايه و النهاية من جدول الحجز إلى تاريخ تقديم بلاغ
بتاريخ: 20 مايو 201312 سنة كاتب الموضوع comment_236439 غفوا كتبت البيانات في جدول ولكن ظهرت بهذا الشكل ارجو ان تكون واضحه تقديم بلاغ
بتاريخ: 20 مايو 201312 سنة comment_236444 select rooms.rm_id, rooms.roomstate , reservedroom.res_sdate from rooms,reservedroom where rooms.rm_id = reservedroom.rm_id and reservedroom.res_sdate = '&inter_date' اتمنى يكون الحل صحيح لاكن في خانة . res_sdate لست متاكدة منها لانني لم افهم ماتقصده بـ . res_edate و res_sdate ولانني اصلا مبتدئه في مجال الاوراكل اتمنى الخبراء يساعدوننا على حل هذه المسألة تقديم بلاغ
بتاريخ: 21 مايو 201312 سنة comment_236455 السلام عليكم لدي نظام فندقي اريد استعلام يعرض الغرف الغير محجوزه خلال الفتره التي ادخلها select column1 ,column2 from reservedroom rs,Rooms r where rs.Rm_Id = r.Rm_Id and rs.res_type = ضع قيمه الغرفه(محجوزه او غير ذلك) and rs.res_sdate >= to_date('01-01-2013','dd-mm-yyyy') and rs.res_edate <= to_date('01-05-2013','dd-mm-yyyy'); اريد من الاستعلام ان يرجع الغرف الفارغه والمحجوزه في فتره غير الفتره التي ادخلها select column1 ,column2 from reservedroom rs,Rooms r where rs.Rm_Id = r.Rm_Id and rs.res_sdate not in (select res_sdate from reservedroom where res_sdate >= to_date('01-01-2013','dd-mm-yyyy') res_edate <= to_date('01-05-2013','dd-mm-yyyy') ); تقديم بلاغ
بتاريخ: 21 مايو 201312 سنة comment_236456 السلام عليكم جرب التالي: لعرض الغرف الفارغة: SELECT rm_id, rm_phon, rm_level FROM rooms WHERE NOT EXISTS ( SELECT 1 FROM reservedroom WHERE rm_id = rm_id AND TRUNC (SYSDATE) BETWEEN NVL (_sdate, res_sdate) AND NVL (_edate, res_edate)) والغرف المحجوزة: SELECT rm_id, rm_phon, rm_level FROM rooms WHERE EXISTS ( SELECT 1 FROM reservedroom WHERE rm_id = rm_id AND TRUNC (SYSDATE) BETWEEN NVL (_sdate, res_sdate) AND NVL (_edate, res_edate)) تقديم بلاغ
بتاريخ: 24 مايو 201312 سنة كاتب الموضوع comment_236590 عفوا على التاخر في الرد حال الكهرباء عندنا مزري وشكرا للاساتذه فمن مساعدتكم توصلت للحل وهو select RM_ID from Rooms where rmt_id=1 AND (RMS_ID =1 OR (RMS_ID =2 and RM_ID NOT IN (SELECT RM_ID FROM RESERVEDROOM WHERE res_sdate in (select res_sdate from reservedroom where res_sdate >= to_date('01-01-2013','dd-mm-yyyy') AND res_edate <= to_date('01-05-2013','dd-mm-yyyy'))))) الحقل rmt_id يحدد نوع الغرفه و الحقل (RMS_ID =1 يبين ان حاله الغرفه فارغه والحقل (RMS_ID =2 يبين ان حاله الغرفه مشغوله و ولكن بشرط ان تكون فارغه خلال الفتره المدخله وشكرا جزيلا على المساعده تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.