بتاريخ: 9 ديسمبر 200421 سنة comment_20196 مشكلة في هذا التقرير انه لايظهر اي بياناتSELECT ALL BOOK_INFO.B_LABLE, AUTHOR.AUTHOR_TYPE, AUTHOR.AUTHOR_TYPEFROM BOOK_INFO, BOOK_INFO_AUTHOR, BOOK_INFO_PUBLISHER, AUTHORWHERE ((BOOK_INFO_AUTHOR.B_BOOK_NO = BOOK_INFO.B_BOOK_NO) AND (BOOK_INFO_PUBLISHER.B_BOOK_NO = BOOK_INFO.B_BOOK_NO) AND (BOOK_INFO_AUTHOR.AUTHOR_ID=AUTHOR.AUTHOR_ID) AND (BOOK_INFO_PUBLISHER.PUBLISHER_ID=AUTHOR.AUTHOR_ID))أين الخطأ، تقديم بلاغ
بتاريخ: 10 ديسمبر 200421 سنة comment_20252 السلام عليكم ورحمة الله ..اولا : لا حاجة لاستخدام الاقواس لانك تستخد شرط واحد هو ANDثانيا : تأكد من عدم وجود Null value فى الحقول المختارة للمقارنة .ثالثا : هذا الشرط يعنى أن مؤلف الكتاب هو نفسه الناشر .. لنفس الكتاب .. هل توجد سجلات فى الجداول تحقق هذا الاحتمال AND (BOOK_INFO_AUTHOR.AUTHOR_ID=AUTHOR.AUTHOR_ID)AND (BOOK_INFO_PUBLISHER.PUBLISHER_ID=AUTHOR.AUTHOR_ID)) عموما يجب ان ترسل لنا الجداول حتى نستطيع ان نتأكد من العلاقات بينها ..مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 10 ديسمبر 200421 سنة كاتب الموضوع comment_20260 السلام عليكم ورحمة اللهالاخ/ Amgadأولاً: مشكور على التجاوبثانياً: صحيح بعض الحقول احياناً خالية (حسب حالة الكتاب) مثل: المترجم، المراجعثالثاً: الجداول:Table: BOOK_INFO (جدول الكتب)B_BOOK_NO NUMBER(5, 0), PKB_LABLE VARCHAR2(100), ---------Table: BOOK_INFO_AUTHOR (جدول المؤلف)B_BOOK_NO NUMBER(5, 0), FK (مع جدول الكتب)AUTHOR_ID---------Table: BOOK_INFO_PUBLISHER (جدول الناشر)B_BOOK_NO NUMBER(5, 0), FK (مع جدول الكتب)AUTHOR_ID-----------Table: AUTHOR (جدول تكويد المؤلفين)AUTHOR_IDAUTHOR_TYPE تقديم بلاغ
بتاريخ: 10 ديسمبر 200421 سنة كاتب الموضوع comment_20266 هل يمكن من فورم تكويد المؤلفين(جدول تكويد المؤلفين)ان كل سجل اضيفه (اسم مؤلف) يضاف ايضاً في جدول تكويد الباحثين، جدول تكويد المترجمينلانها جداول متشابهة في البنيةوبذلك يتم حل المشكلة تقديم بلاغ
بتاريخ: 10 ديسمبر 200421 سنة comment_20278 السلام عليكم ورحمة الله الأخ / medotetoاولا : الشرط المستخدم فى امر ال select وهو AND معناه اشتراط وجود بيانات مشتركة بين الاربع جداول وهذا نادر حدوثه فى نظامك . وبالتالى فى حالة عدم وجود اشتراك بين جدولين فلن تظهر نتائج .ثانيا : جرب تنفيذ الامر مع ال sql حتى تطمئن صحة النتائج ثم تعامل معه من خلال التقرير فيما بعد .ثالثا : لا داعى لتكرار نفس بيانات المؤلف - الناشر - المترجم فى اكثر من جدول طالما ان البيانات متشابهة واقترح عليك دمجهم فى جدول واحد مع اضافة حقل جديد للنوع ( 1 - مؤلف 2 - ناشر 3 - باحث 4 - مترجم 5- .. ) .او اكثر من حقل اذا كان الفرد الواحد قد يكون مؤلف ومترجم معا .رابعا : فى حالة وجود null فى احد حقول العلاقه فلن تستخرج نتيجة لهذا السجل .خامسا : لا افضل نسخ البيانات المتشابهه عند انشاء الجداول .. فعند تعديل عنوان المؤلف فلابد من تعديلة فى باقى الجداول المتشابهة وايضا مع الغاء بيانات مؤلف معين ستظهر لك مشكلة تجانس وتوافق وتكامل البيانات ..مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 11 ديسمبر 200421 سنة كاتب الموضوع comment_20331 السلام عليكم ورحمة اللهالاخ/ Amgadشكراً لسعة صدرك وتجاوبك** بالنسبة لتجرتها في SQL ايضاً لم تنجح.** وايضاً وضعت الحقول( 1- المؤلف 2-الباحث 3- الناشر) في جدول الكتب لكن نفس المشكلة لأن مصدرهم واحد هو جدول المؤلفين (AUTHOR_ID, AUTHOR_TYPE)*** جربت في جملة ال SELECT ان اعطل الناشر فكانت (AUTHOR_TYPE) تعطيني المؤلف والكود يعمل من دون مشاكل، لذلك تطرقت للفكرة السابقة بأن اعمل جدول للناشر، وآخر للباحث (مع العلم بان المؤلف احيانا يكون ناشر وهو نفسه في كتاب آخر يكون مراجع وهذه مشكلة اخرى)لكن اعتقد الحل بان يكون فورم تكويد المؤلف اساسي كما هو لكن نفس بيانات جدول المؤلف ترحل لجدول الباحث و جدول المترجم.وتصبح عندي جملة الSELECT (ـAUTHOR_TYPE) للمؤلف(PUBLISH_TYPE) للناشر - و(TRAN_TYPE) للمترجمارجو ان تكون وضحت المشكلةفي انتظارك يا Amgad تقديم بلاغ
بتاريخ: 13 ديسمبر 200421 سنة كاتب الموضوع comment_20612 السلام عليكم ورحمة اللهالموضوع يحتوى على:1- الجداول 2- جملة التقرير------------------------------------------------------جدول الكاسيتCREATE TABLE CASSETTE_INFO (B_CASSETTE_NO NUMBER(5, 0), B_CLASS_CODE VARCHAR2(8), B_LABLE VARCHAR2(50), B_PREPARED NUMBER(3, 0), B_PUBLISHER NUMBER(3, 0), B_PRINT_DATE NUMBER(4, 0), B_TIMES NUMBER(3, 0), B_COPYS NUMBER(2, 0), B_SIZE VARCHAR2(7), B_PARTS NUMBER(3, 0), B_PARTS_NO NUMBER(3, 0), B_ABSTRACT VARCHAR2(50), B_OBSERVATION VARCHAR2(50));CREATE UNIQUE INDEX CASSETTE_INFO_BRW_P1 ON CASSETTE_INFO(B_CASSETTE_NO);ALTER TABLE CASSETTE_INFO ADD (CONSTRAINT CASSETTE_INFO_BRW_P1 PRIMARY KEY(B_CASSETTE_NO)) ENABLE CONSTRAINT CASSETTE_INFO_BRW_P1;-----------------------------------------------------جدول المتحدثينCREATE TABLE CASSETTE_SPEAKER (B_CASSETTE_NO NUMBER(5, 0), SPEAKER_NO NUMBER(2, 0), SPEAKER_ID NUMBER(3, 0));ALTER TABLE CASSETTE_SPEAKER ADD (CONSTRAINT CASSETTE_SPEAKER_BRW_F1 FOREIGN KEY(B_CASSETTE_NO) REFERENCES CASSETTE_INFO(B_CASSETTE_NO)) ENABLE CONSTRAINT CASSETTE_SPEAKER_BRW_F1;-----------------------------------------------------جدول رؤوس المواضيعCREATE TABLE CASSETTE_SUBJECT (B_CASSETTE_NO NUMBER(5, 0), SUBJECT_NO NUMBER(2, 0), SUBJECT_ID NUMBER(3, 0));ALTER TABLE CASSETTE_SUBJECT ADD (CONSTRAINT CASSETTE_SUBJECT_BRW_F1 FOREIGN KEY(B_CASSETTE_NO) REFERENCES CASSETTE_INFO(B_CASSETTE_NO)) ENABLE CONSTRAINT CASSETTE_SUBJECT_BRW_F1;-----------------------------------------------------جدول تكويد المؤلفCREATE TABLE AUTHOR (AUTHOR_ID NUMBER(3, 0), AUTHOR_TYPE VARCHAR2(50));CREATE UNIQUE INDEX AUTHOR_BRW_P1 ON AUTHOR(AUTHOR_ID);ALTER TABLE AUTHOR ADD (CONSTRAINT AUTHOR_BRW_P1 PRIMARY KEY(AUTHOR_ID)) ENABLE CONSTRAINT AUTHOR_BRW_P1;------------------------------------------------------جدول تكويد رؤوس المواضيعCREATE TABLE SUBJECT (SUBJECT_ID NUMBER(3, 0), SUBJECT_TYPE VARCHAR2(50));CREATE UNIQUE INDEX SUBJECT_BRW_P1 ON SUBJECT1(SUBJECT_ID);ALTER TABLE SUBJECT ADD (CONSTRAINT SUBJECT_BRW_P1 PRIMARY KEY(SUBJECT_ID)) ENABLE CONSTRAINT SUBJECT_BRW_P1;--------------------------------------------------------جملة التقريرSELECT ALL CASSETTE_INFO.B_VIDEO_NO, CASSETTE_INFO.B_CLASS_CODE, CASSETTE_INFO.B_LABLE, AUTHOR.AUTHOR_TYPE, SUBJECT.SUBJECT_TYPEFROM CASSETTE_INFO, CASSETTE_SPEAKER, CASSETTE_SUBJECT, AUTHOR, SUBJECTWHERE CASSETTE_SPEAKER.B_CASSETTE_NO = CASSETTE_INFO.B_CASSETTE_NO AND CASSETTE_SUBJECT.B_CASSETTE_NO = CASSETTE_INFO.B_CASSETTE_NO AND CASSETTE_SPEAKER.SPEAKER_ID=AUTHOR.AUTHOR_IDAND CASSETTE_SUBJECT.SUBJECT_ID=SUBJECT.SUBJECT_ID تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.