الانتقال إلى المحتوى
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.

بيانات من جدولين

Featured Replies

بتاريخ:

^_^ اخواني الاعزاء,تحية طيبة وبعد,,,

جدول اسمه txt_tab يحتوي على رموز نوع الحركات المالية مثلاً (دفع نقدي, بيع وشراء عملات اجنبية,بيع وشراء مستندات ... وهكذا) حيث أن الحقل EXP_cde يمثل رمز نوع الحركة في هذا الجدول , ويوجد جدول آخر للحركات المالية االتي تحدث يومياً اسمه TRANS حيث يحتوي على تاريخ الحركة ومبلغها ورمز نوع الحركة(نوع الحركة) واسمه هنا tab_ent وهو يشير الى الحقل Exp_cde في جدول txt_tab المذكور آنفاً.

المطلوب تقرير يجمع مبالغ العمليات المالية لفترة محددة حسب نوع العملة وحسب نوع الحركة من جدول الحركات ,والمشكلة انه مطلوب ايضا طبع الحركات الموجودة في جدول txt_tab والتي لم تتم لها حركة في جدول الحركات خلال المدة المحددة حيث يتم عرضهامع وضع اجمالي حركاتها يساوي صفر(لانه ليس لها عملية ) .

ولكني لم استطع فعل ذلك حيث ان التقرير يطبع فقط الحركات الموجودة في جدول الحركات فقط ولها مبالغ خلال المدة المحددة

واليكم الكود,راجياً منكم المساعدة العاجلة مجزيين كل خير .

ودمتم سالمين.

select cur_code,tab_ent
sum(nvl(trans_amt,0))tra_amt,
from trans,txt_tab where (cur_code <>1 and led_code in (1000,1001,1002) and tra_date between
&first_date and &last_date)
group by cur_code,tab_ent;

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

حتى بعد اضافة اشارة الربط الخارجي(+) في الكود لم تفلح العملية

select cur_code,tab_ent
sum(nvl(trans_amt,0))tra_amt,
from trans,txt_tab where (txt_tab.tab_ent(+)=trans.exp_cde and cur_code <>1 and led_code in (1000,1001,1002) and tra_date between
&first_date and &last_date)
group by cur_code,tab_ent;
/

بتاريخ:

يمكنك تجزئة التقرير الى
الجزء الاساسى هو استرجاع الرموز المختارة من جدول الرموز
ثم استخدام الforumal column مع امر select لاسترجاع المجموع لكل نوع حركة ... مع امكانية استخراج المجموع لكل نوع عملة باستخدام ال place holder ... والخاص بنوع الحركة المختارة

مجرد اقتراح ... للمساعدة

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

أخي أمجد, أولاً شكراً على تجاوبك مع مشكلتي
ماذا تقصد ثم استخدام الforumal column مع امر select وما هو ال place holder

بتاريخ:

اليك هذا المثال لتقرير مبسط ... developer 6i
user = scott
table = dept جدول الادارات هو الجدول الاساسي لكل رموز الادارات
ثم من جدول ال employee يتم اعداد مجموع الرواتب على مستوى كل ادارة باستخدام ( formula column or عمود صيغة ) ...
حتى فى حالة عدم وجود موظفين للادارة ... سيظهر اسم الادارة ومجموع رواتب = صفر

اليك الملف من نوع swf
والملف الاخر هو التقرير

create_report_sample.zip

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

أخي أمجد ..
المشكلة انه الجروب سوف تكون حسب العملة ورمز العملية والعملة موجودة في جدول الحركات بينما رمز العملة في جدول الرموز ولا توجد علاقة بين الجدولين لان الحقل exp_cde الذي في جدول الحركات لا يعتبر مفتاح اجنبي للحقل tab_ent الموجود في جدول الرموز وهنا تكمن المشكلة , حيث لو قمت بالتجميع حسب رمز العملة الموجود اساساً في جدول الرموز والتجميع طبعاً من جدول الحركات ولا توجد علاقة بينهما فانه فعلاً سيعرض كافة العمليات لكن التجميع سيكون خاطئ ومكرر لكافة العمليات.

بتاريخ:

try to use Union

select cur_code,tab_ent
sum(nvl(trans_amt,0))tra_amt,
from trans,txt_tab where (txt_tab.tab_ent(+)=trans.exp_cde and cur_code <>1 and led_code in (1000,1001,1002) and tra_date between
&first_date and &last_date)
group by cur_code,tab_ent;
union
select exp_cde,null,0
from txt_tab where exp_code not in (select tab_ent
                  from trans where tra_date between&first_date and &last_date)

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

:rolleyes: جزاك الله خير يا أم مريم ,,,

لكن ناتج الجمع خاطئ اضافة الى أنه يكرر التجميع ,,, على العموم شكراً جزيلاً لك وللأخ أمجد على المساعدة حيث اني سأسلم التقرير غداً كما هو ,

وأرجو من اي شخص يجد حلاً ان يعرضه لنا حتى نستفيد للمرات القادمة حيث أن المشكلة مازالت قائمة وحتماً اننا سنتعرض لها مستقبلاً .

ودمتم سالمين

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

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

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

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

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

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.