بتاريخ: 28 أغسطس 201411 سنة comment_254151 السلام عليكم انا مبتدئ واحتاج الى مساعدة في عمل view من عدة جداول 1- جدول الاصناف >>>>> item_id,item_name,unite_id,class_id,com_id 2- جدول الوحدات>>>>>> unite_id,unite_name 3-جدول الفئات >>>>>>>class_id,class_name 4-جدول الشركات>>>>>com_id,com_name -------------------------------- احتاج الي view item_id,item_name||unite_name||class_name||com_name ---------------------------------------- كتبت الكود select item_id, ITEMS.ITEM_NAME||' '||UNITES.UNITE_NAME||' '||CLASS.CLASS_NAME||' '||COMPANYS.COM_NAME from ITEMS,UNITES,CLASS,COMPANYS where ITEMS.UNITE_ID=UNITES.UNITE_ID and ITEMS.CLASS_ID=CLASS.CLASS_ID and ITEMS.COM_ID=COMPANYS.COM_ID ; ---------------------------------------------------- المشكلة لو اني لم احدد شركة مثلا او وحدة او فئة لصنف هذا الصنف لا يظهر عند الاستعلام فما هو الحل عن طريق الكود انا وجدت حل بس مش عملي ان انا ادخل شركة عبارة عن ' ' وكذلك فئة وكذلك وحدة تم تعديل 31 أغسطس 201411 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 28 أغسطس 201411 سنة comment_254167 دلوقتى حضرتك انشات view على اساس الجملة اللى فوق ممكن تكتب جملة الاستعلام اللى بتعملها على ال view ده تقديم بلاغ
بتاريخ: 28 أغسطس 201411 سنة comment_254171 السلام عليكم .....عزيزي ان لا اري ما الهدف من هذا الفيو ؟ اتوقع ان الكونكات الرابط بينهم غلط وكمان لازم الفيو يبدا ب create or replace function rr جرب تستخدم الخاصية carsol وشوف النتيجة بدل من الكونكات || اللي انت عاملة فوق ف ال select تقديم بلاغ
بتاريخ: 28 أغسطس 201411 سنة كاتب الموضوع comment_254172 شكرا على الاهتمام جملة ال view (create view item_card (item_c,item_n as select item_id, ITEMS.ITEM_NAME||' '||UNITES.UNITE_NAME||' '||CLASS.CLASS_NAME||' '||COMPANYS.COM_NAME from ITEMS,UNITES,CLASS,COMPANYS where ITEMS.UNITE_ID=UNITES.UNITE_ID and ITEMS.CLASS_ID=CLASS.CLASS_ID and ITEMS.COM_ID=COMPANYS.COM_ID جملة الاستعلام select * from item_card تم تعديل 31 أغسطس 201411 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 28 أغسطس 201411 سنة comment_254177 شكرا على الاهتمام جملة ال view (create view item_card (item_c,item_n as select item_id, ITEMS.ITEM_NAME||' '||UNITES.UNITE_NAME||' '||CLASS.CLASS_NAME||' '||COMPANYS.COM_NAME from ITEMS,UNITES,CLASS,COMPANYS where ITEMS.UNITE_ID=UNITES.UNITE_ID and ITEMS.CLASS_ID=CLASS.CLASS_ID and ITEMS.COM_ID=COMPANYS.COM_ID جملة الاستعلام select * from item_card هو انت عايز تحدد شركة او وحدة او فئة ازاي , اذا كنت انت عاملهم concatenation , الحاجة الوحيدة الي ممكن تحددها في الشرط هي الـ item_id تقديم بلاغ
بتاريخ: 6 سبتمبر 201411 سنة comment_254485 الفيو الخاص بك هو select item_id, ITEMS.ITEM_NAME||' '||UNITES.UNITE_NAME||' '||CLASS.CLASS_NAME||' '||COMPANYS.COM_NAME from ITEMS,UNITES,CLASS,COMPANYS where ITEMS.UNITE_ID=UNITES.UNITE_ID and ITEMS.CLASS_ID=CLASS.CLASS_ID and ITEMS.COM_ID=COMPANYS.COM_ID ; ربما من الأفضل أن تبني الفيو كما يلي select item_id , ITEMS.ITEM_NAME, UNITES.UNITE_NAME, CLASS.CLASS_NAME, COMPANYS.COM_NAME from ITEMS, UNITES, CLASS, COMPANYS where -- your join conditions... ITEMS.UNITE_ID = UNITES.UNITE_ID and ITEMS.CLASS_ID = CLASS.CLASS_ID and ITEMS.COM_ID = COMPANYS.COM_ID; ويمكنك التحكم بطريقة عرض البيانات عن طريق الاستعلام كما يلي: select item_id, ITEMS.ITEM_NAME||' '||UNITES.UNITE_NAME||' '||CLASS.CLASS_NAME||' '||COMPANYS.COM_NAME from item_card أو select * from item_card; ما اريد قوله من خلال خبرتي أنه يجب عليك ألا تضع شروط في الفيو إذا كان بالإمكان وضعها في الاستعلام، لأنك تستطيع أن تتحكم بالاستعلام وجعل الخرج يظهر بطرق مختلفة ويمكن إضافة شروط كما تريد، أما لو وضعتها في الفيو، فكل خرج سيحتاج لفيو جديد. الأن نأتي لما طلبته أنت المشكلة لو اني لم احدد شركة مثلا او وحدة او فئة لصنف هذا الصنف لا يظهر عند الاستعلام الفيو السابق سيظهر لك البيانات من الجداول السابقة لكن هذه البيانات مرتبطة فيما بينها بعدة قيم كما هو ظاهر في جملة الشرط where clause حيث يجب أن تكون الوحدة المخزنة في الجدول المادة هي قيمة مخزنة في جدول الوحدات وأن يكون صنف المادة في جدول المواد مخزن في جدول الأصناف وأن يكون حقل الشركة للمادة مخزن في جدول الشركات والشروط الثلاثة السابقة تشكل ربط منطقي للجداول عندك أقصد join conditions في حال أن هناك قيمة فارغة null values في قيم أحد الشروط كأن تكون قيمة الشركة null فسوف لن يظهر لك في الاستعلام وستظر مشكلة بعدم ظهور كافة البيانات المخزنة، الحل تعديل الفيو السابق لتصبح الشروط مكتوبة بطريقة الـ outer join . تقديم بلاغ
بتاريخ: 11 سبتمبر 201411 سنة كاتب الموضوع comment_254702 الأخ الفاضل technologist IT Engineerلولا أن النبي صلى الله عليه وسلم قال "إذا قال الرجل لأخيه جزاك الله خيرا فقد أبلغ في الثناء" لعجزت أن أجد عبارة أشكرك بها فقد استفدت كثيرا من اجابتك وقد اصابت ما أريد فجزاك الله عني خيرا ولا أنسى ان اكرر الشكر لكل من حاول افادتي فجزاكم الله جميعا خيرا تقديم بلاغ
بتاريخ: 9 يناير 201511 سنة comment_258309 السلام عليكم اتمنى انى افيدك ان شاء الله CREATE OR REPLACE VIEW ITEM_V AS (SELECT ITEM_ID , ITEM_NAME , (SELECT UNITE_NAME FROM UNITES WHERE UNIT_ID = ITEMS.UNITE_ID) AS UNITE_NAME , (SELECT CLASS_NAME FROM CLASS WHERE CLASS_ID = ITEMS.CLASS_ID) AS CLASS_NAME , (SELECT COM_NAME FROM COMPANYS WHERE COM_ID = ITEMS.COM_ID) AS COM_NAME ) FROM ITEMS); اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا تم تعديل 11 يناير 201511 سنة بواسطة Ahmad.Hasan تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.