الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مساعدة في View ضروري

Featured Replies

بتاريخ:

السلام عليكم

انا مبتدئ

واحتاج الى مساعدة في عمل 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
;

----------------------------------------------------
 
المشكلة لو اني لم احدد شركة مثلا او وحدة او فئة  لصنف هذا الصنف لا يظهر عند الاستعلام

فما هو الحل عن طريق الكود

انا وجدت حل بس مش عملي ان انا ادخل شركة عبارة عن ' ' وكذلك فئة وكذلك وحدة

تم تعديل بواسطة Ahmad.Hasan

بتاريخ:

دلوقتى حضرتك انشات view على اساس الجملة اللى فوق

ممكن تكتب جملة الاستعلام اللى بتعملها على ال view ده

بتاريخ:

السلام عليكم ..
...
عزيزي ان لا اري ما الهدف من هذا الفيو ؟ اتوقع ان الكونكات الرابط بينهم غلط 

وكمان لازم الفيو يبدا ب 
create or replace function rr

جرب تستخدم الخاصية carsol وشوف النتيجة بدل من الكونكات || اللي انت عاملة فوق ف ال select 
 

بتاريخ:
  • كاتب الموضوع

 شكرا على الاهتمام

جملة ال 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

تم تعديل بواسطة Ahmad.Hasan

بتاريخ:

 شكرا على الاهتمام

جملة ال 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

  • بعد 2 أسابيع...
بتاريخ:

الفيو الخاص بك هو

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 .

 

 

 

 

بتاريخ:
  • كاتب الموضوع

الأخ الفاضل

technologist IT Engineer

لولا أن النبي صلى الله عليه وسلم قال  "إذا قال الرجل لأخيه جزاك الله خيرا فقد أبلغ في الثناء" لعجزت أن أجد عبارة أشكرك بها

فقد استفدت كثيرا من اجابتك وقد اصابت ما أريد فجزاك الله عني خيرا

ولا أنسى ان اكرر الشكر لكل من حاول افادتي فجزاكم الله جميعا خيرا

  • بعد 3 شهور...
بتاريخ:

السلام عليكم

اتمنى انى افيدك ان شاء الله

 
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);
 
 
 
اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا

تم تعديل بواسطة Ahmad.Hasan

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.