STAROSTA بتاريخ: 4 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 4 مايو 2010 (معدل) SELECT ersalia.no, ersalia.class, ersalia.name, ersalia.stat, ersalia.unit, ersalia.loc,come.cdate,come.medical,come.garabafrom ersalia,come,outWHERE NVL(ersalia.no,0 )=NVL(:pno, NVL(ersalia.no, 0) )AND NVL(ersalia.class, 'w')=NVL(:pclass, NVL(ersalia.class, 'w')) AND NVL(ersalia.name, 'w') like NVL(:pname, NVL(ersalia.name, 'w')) AND NVL(ersalia.stat, 'w')=NVL(:pstat, NVL(ersalia.stat, 'w')) AND NVL(ersalia.unit, 'w')=NVL(:punit, NVL(ersalia.unit, 'w')) AND NVL(ersalia.loc, 'w')=NVL(:ploc, NVL(ersalia.loc, 'w')) and nvl(come.cdate,sysdate) between nvl(:pfrom,nvl(come.cdate,sysdate)) and nvl(:Pto,nvl(come.cdate,sysdate))and ersalia.no=come.noand ersalia.no=out.noأريد عمل إستعلام من ثلاثة جداول ersalia - out - comeالجدول الأول خاص ببيانات المريضالثاني خاص ببيانات الدخولالثالث خاص ببيانات المغادرة ..تربط جميعا عن طريق الحقل no وهو موجود في الجداول الثلاثة ..أريد عند عمل إستعلام عن صفة معينة في الجدول الأول أو تاريخ الدخول ((في الجدول الثاني)) أو ((تاريخ المغادرة)) في الجدول الثالث يظهر لي مريض أو أثر تنطبق عليهم الصفة ..حسب الكود السابق النتيجة تكون سليمة عندما يكون مفتاح البحث من الجدول الأول ولا تظهر قيمة إذا ان المفتاح في الجدول الثاني ..الكود السابق لتقريب الفكرة وليس بالضرورة الكود السليم .. ما أريده في النهاية هو إستعلام عن معلومة أو أكثر من ثلاثة جداول مرتبطةشئ آخرأريد عمل حقل أكتب فيه رقم المريض وأضغط على زر يعطي رسالة عن تواجد المريض من عدمه ..كتبت الكود التالي في التريجر declare n numberbeginif :no=any(select * from ersalia) then n:=show_alert('a') else n:=show_alert('b') d no: هو الحقل المعنييعطي رسالة خطأ تقول أن ((ANY)) تعمل داخل جمل SQL فقط .. تم تعديل 4 مايو 2010 بواسطة STAROSTA اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 4 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 4 مايو 2010 السلام عليكمبالسؤال الأول جرب استخدام Or بدلا من And.والسؤال الثاني: Select Count(*) Into dummy From Ersalia Where No = :Blk_1.No; If dummy = 0 Then Message('No Found'); Message('No Found'); Raise Form_Trigger_Failure; End If; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
STAROSTA بتاريخ: 6 مايو 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 مايو 2010 روعة أستاذي .. سلمت على حلك للمشكلة الثانية ..لكن الأولى يبدو أنني لم أشرحها بشكل واضح ..إليكم هذا الكود الإفتراضي SELECT a.x,b.x,c.xfrom a,b,c where NVL(a.x, 'w')=NVL(:pa, NVL(a.x, 'w')) And NVL(b.x, 'w')=NVL(:pb, NVL(b.x, 'w'))And NVL(c.x, 'w')=NVL(:pc, NVL(c.x, 'w'))And NVL(a.x, 'w')= NVL(b.x, 'w')And NVL(b.x, 'w')= NVL(c.x, 'w')[/size ]الجداول هي A-B-Cكل جدول يحتوي على عمود ْX واعمدة أخرى .. أريد ربطها جميعا عن طريق العمود Xفي حالة الإستعلام عن معلومة خاصة في أحد الجداول يرجع لي معلومات الجداول الثلاثة بناء على الربط .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
vaguezoro بتاريخ: 14 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 14 مايو 2010 ممكن تجرب بالشكل ده select a.x, b.x,c.x from a,b,c where a.x=b.xand b.x=c.x اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mahmoud Shahryar بتاريخ: 27 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 27 مايو 2010 ممكن فعلا تجرب كود الأستاذ Vaguezoro بس ياريت لو ماشتغلتش تفهمنا فعلا إنت عايز إيه بالظبط لإن كل الردود بناء على الجزء اللي فهمناه وياريت لو ترفع جزء من الشغل ده بحيث يمكن إكتشاف أخطاء أخرى ممكن تكون السبب في عدم نجاح الكودشكراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 27 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 27 مايو 2010 روعة أستاذي .. سلمت على حلك للمشكلة الثانية ..لكن الأولى يبدو أنني لم أشرحها بشكل واضح ..إليكم هذا الكود الإفتراضي SELECT a.x,b.x,c.xfrom a,b,c where NVL(a.x, 'w')=NVL(:pa, NVL(a.x, 'w')) And NVL(b.x, 'w')=NVL(:pb, NVL(b.x, 'w'))And NVL(c.x, 'w')=NVL(:pc, NVL(c.x, 'w'))And NVL(a.x, 'w')= NVL(b.x, 'w')And NVL(b.x, 'w')= NVL(c.x, 'w')[/size ]الجداول هي A-B-Cكل جدول يحتوي على عمود ْX واعمدة أخرى .. أريد ربطها جميعا عن طريق العمود Xفي حالة الإستعلام عن معلومة خاصة في أحد الجداول يرجع لي معلومات الجداول الثلاثة بناء على الربط .. السلام عليكمأخي ... الجزئية التي طرحتها غير واضحه..ارجو توضيح مطلبك بمثال عملي لكي يتم فهم المطلوب وحله ان شاءالله...موفق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.