الانتقال إلى المحتوى

كيف اضهر جميع الصفوف


الحكيمي

Recommended Posts

بسم الله الرحمن الرحيم
حياكم الله اخواني الاعزاء
انا عندي استفسار اريد ان اعرف اجابته منكم ولكم جزيل الشكر
وهو اني عندي تقرير ياخذ بياناته من جدولين الاول المسحوبات والثاني المصروفات
والمشكله هي الاتي
انا عندي في الصورة المرفقة قام الشخص بالسحب من اربعة اصناف 1و2و3و4
وقام بصرف من الصنف 1و2و3 فقط
ولم يقم بالصرف من الصنف رقم 4
المشكلة هي انه لم يضهر في التقرير الصنف رقم 4
انا اريد ان يضهر الصف وبه الكمية المسحوبه 20 والمنصرف صفر
هل يمكن هذا وكيف

وجزاكم الله كل خير

post-15632-029148100 1297242949_thumb.jpg

رابط هذا التعليق
شارك

هاذي جملة السلكت المكتوبة

SELECT ALL ITEMS.ITEMS_NO, ITEMS.ITEMS_NAME, SEM_ME.QUANTITY, SEM_DO.QUANTITY, SEM_UP.MAN_NO, MANDOB_UP.MAN_NAME
FROM SEM_ME, SEM_UP, SEM_DO, ITEMS, MANDOB_UP
WHERE ((SEM_ME.SEMUP_NO = SEM_UP.SEM_NO)
AND (SEM_DO.SEMUP_NO = SEM_UP.SEM_NO)
AND (SEM_ME.ITEMS_NO = ITEMS.ITEMS_NO)
AND (SEM_DO.ITEMS_NO = ITEMS.ITEMS_NO)
AND (SEM_ME.MAN_NO = MANDOB_UP.MAN_NO)
AND (SEM_UP.MAN_NO = MANDOB_UP.MAN_NO)
AND (SEM_DO.MAN_NO = MANDOB_UP.MAN_NO))

رابط هذا التعليق
شارك

بكل بساطة لم يظهر الصف لانك عامل ربط بين الجدولين
ولكي يظهر جميع البيانات عليك عمل outer join
وهي كالتالي

مشال بسيط بين الادارة والموظفين



select  d.dept_id,d.dept_name,e.emp_name
from dept d ,emp e
where d.dept_id=e.dept_id



هذا الربط نفس الطريقة التي استخدمتها انت في المثال السابق

وفي حالة ان موظف تم تسجيله ولم تحدد له ادارة فلن يظهر في الاستعلام او ادارة جديدة ولم يعين بها اي موظف فل تظهر هي الاخرى والحل

وضع علامة (+) في الاستعلام بالطريقة التالية

1- لاظهار جميع الموظفين حتى لو لم يكن قد عين على ادارة معينة




select  d.dept_id,d.dept_name,e.emp_name
from dept d ,emp e
where d.dept_id(+)=e.dept_id



2- اظهار الادارات التي لم يعين اي موظف عليها الى الان



select  d.dept_id,d.dept_name,e.emp_name
from dept d ,emp e
where d.dept_id=e.dept_id(+)



ملاحظة
لو الربط بين الجدولين يتضمن اكثر من عامود نستخدم علامة (+) مع جميع الاعمدة (احد الجانبين وليس الاثنين معا )

رابط هذا التعليق
شارك

انا بصراحة اول مره اسمع عن الربط الخارجي
ولذلك لم افهم قصدك
فحاولت ان اعمل كما قلت لكن بدون فائده لم يضهر الصف النافص
فهل يمكن ان تعدل في الكود الموجود اعلاه
وجزاك الله كل خير

رابط هذا التعليق
شارك

جرب كده

    SELECT ALL ITEMS.ITEMS_NO, ITEMS.ITEMS_NAME, SEM_ME.QUANTITY, SEM_DO.QUANTITY, SEM_UP.MAN_NO, MANDOB_UP.MAN_NAME 
FROM SEM_ME, SEM_UP, SEM_DO, ITEMS, MANDOB_UP 
WHERE ((SEM_ME.SEMUP_NO = SEM_UP.SEM_NO) 
AND (SEM_DO.SEMUP_NO = SEM_UP.SEM_NO) 
AND (SEM_ME.ITEMS_NO(+) = ITEMS.ITEMS_NO) 
AND (SEM_DO.ITEMS_NO(+) = ITEMS.ITEMS_NO) 
AND (SEM_ME.MAN_NO = MANDOB_UP.MAN_NO) 
AND (SEM_UP.MAN_NO = MANDOB_UP.MAN_NO) 
AND (SEM_DO.MAN_NO = MANDOB_UP.MAN_NO))
union
SELECT ALL ITEMS.ITEMS_NO, ITEMS.ITEMS_NAME, SEM_ME.QUANTITY, SEM_DO.QUANTITY, SEM_UP.MAN_NO, MANDOB_UP.MAN_NAME 
FROM SEM_ME, SEM_UP, SEM_DO, ITEMS, MANDOB_UP 
WHERE ((SEM_ME.SEMUP_NO = SEM_UP.SEM_NO) 
AND (SEM_DO.SEMUP_NO = SEM_UP.SEM_NO) 
AND (SEM_ME.ITEMS_NO = ITEMS.ITEMS_NO)(+) 
AND (SEM_DO.ITEMS_NO = ITEMS.ITEMS_NO)(+)
AND (SEM_ME.MAN_NO = MANDOB_UP.MAN_NO) 
AND (SEM_UP.MAN_NO = MANDOB_UP.MAN_NO) 
AND (SEM_DO.MAN_NO = MANDOB_UP.MAN_NO))    





موفق

رابط هذا التعليق
شارك

كل الشكر لك اخي
لكن ما بني على باطل فهو باطل
يعني لازم اتعلم الربط هذا

لو تقدر تدلني على رابط اتعلم فيه الربط

يكون جزاك الله كل خير

ومشكور

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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