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

مشكلة في استخدام عبارة like لتجميع الحسابات

Featured Replies

بتاريخ:

الاخوة بالموقع ارجو منكم مساعدتي في استخدام عبارة like حيث اني اعمل في نظام حسابات واريد ان اقوم بتجميع الحسابات حسب المستوي الذي يحدده المستخدم حيث ان ارقام الحسابات بهذا الشكل مثلا
1-2
1-11
2-1
2-22
11-1
الحسابات الرئسية باللون الاحمر
انا قمت باستخدام عبارة like لتجميع متلا كل الحسابات التي تقع تحت رقم الحساب 1 لكنه اعتبر ان رقم الحساب 11 هو يبدا برقم 1 فقام بجمعة
نفس المشكلة تحدث عن تجميع لرقم الحساب 2 يعتبر رقم الحساب 22 رقم فرعي من رقم الحساب 2 مع انه حساب رئيسي
ملاحظة للفصل بين المستويات استعمل -


------------------------------------ الكود
select sum(DEBIT),sum(CREDIT)
from DAILLY_TRANSACTIONS_DETAIL,DAILLY_TRANSACTIONS_MASTER where ACCOUNT_NO like'%'||:ACC_NO AND TASWIA_DATE BETWEEN :FROM_DATE AND :TO_DATE AND
DAILLY_TRANSACTIONS_MASTER.TASWIA_NO =
DAILLY_TRANSACTIONS_DETAIL.TASWIA_NO


ارجو ان تكون المشكلة قد وضحت وارجو من اهل الخبرة المساعدة العاجلة

بتاريخ:

شوف ياسيدى
انت مقسم الحسبات مستويات
بمعنى
1
1-1
1-1-2

وهكذا
وانت بتخزن المستويات عندك ضع علامة مميزة مثل - , = , .........

وعند الاستعلام
استخم العلامة

select sum(DEBIT),sum(CREDIT)
from DAILLY_TRANSACTIONS_DETAIL,DAILLY_TRANSACTIONS_MASTER 
where ACCOUNT_NO like :ACC_NO||'=%' AND TASWIA_DATE BETWEEN :FROM_DATE AND :TO_DATE AND
DAILLY_TRANSACTIONS_MASTER.TASWIA_NO =
DAILLY_TRANSACTIONS_DETAIL.TASWIA_NO



وكل مستو تعمل علامة مميزة له

ارجو تكون الفكرة وضحت

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

الاخ llord شكرا علي الاهتمام بس انا مستخدم علامة - للفصل بين المستويات عند تخزين الحساب وايضا يوجد حقل يتم فيه تحديد مستوي الحساب بس المشكلة كالاتي
عندي تلاثة مستويات من الحسابات مثال لذلك
ارقم الحسابات التالية
1 الاصول , 2 المنصرفات ( حسابات علي المستوي الاول )
1-1 المباني , 2-1 المرتبات (حسابات علي المستوي الثاني)
1-1-1 الورشة , 1-1-2 المخازن (حسابات علي المستوي الثالث )

واريد تجميع الحسابات كل مستوي علي حده مجموعات حسب رقم الحساب يعني حساب الاصول (المباني + الورشة + المخازن ) و حساب المنصرفات ( المرتبات + كل رقم حساب يبداء ب 2 ) .
المستوي الثاني يبداء من (1-1 وكل الحسابات التي تتفرع منه ) علي حدة و
( 2-1 وكل الحسابات التي تتفرع منه) علي حده اما المستوي الثالث كل حساب علي حده متال
(1-1-1) علي حده و (1-1-2) علي حده و (2-1-1 ) علي حده وهكذا وعلي حد علمي ان عبارة LIKE تقوم بهذا العمل بس طريقة الاستخدام كيف
ارجو ان تكون الفكرة قد وضحت وارجو من اهل الخبرة الاهتمام والله الموفق

بتاريخ:

اخي الكريم حتى اكون فهمت المطلوب
عندي استفسار بسيط
لنفرض ادخلت رقم الحساب 1
تريد ان تجمع الحسابات مثل
1-1
1-2
1-3
.
.
1-20
1-1-1
1-1-2
.
.
1-1-12
مثلا



ولو ادخلت رقم الحساب 1-2
تريد تجميع الحسابات مثل
1-2-1
1-2-2
1-2-3

ولو ادخلت رقم الحساب 1-1-2
تريد تجميع الحساب
1-1-2
اذا كان هذا المطلوب فالحل اللي كتبه الاخ llord صحيح
بس ممكن تكتب الشرط على الشكل التالي


where ACCOUNT_NO like :ACC_NO||'-%'



فلو ادخلت رقم الحساب 2-3
سيتم تجميع كل الحسابات اللي تبدا بـ
2-3-%

لكن الحساب 2-3 ماراح ينجمع معهم

اما اذا اردت ان تجمع الحساب 2-3
وكل الحسابات اللي تبدا بـ
2-3-%

يصير الشرط كالتالي

where ((ACCOUNT_NO=:ACC_NO)  OR 
    (ACCOUNT_NO like :ACC_NO||'-%'))



فمثلا لو اردت الحساب رقم 1

سيقوم بجمع الحساب رقم 1
واي حساب يبدا بـ
1-%


وبهالطريقة لوعندك حساب رقمه 11
ماراح يدخل معك في طلب الحساب رقم 1

اتمنى اني فهمت المطلوب بشكل صحيح

وياليت تخبرنا بالنتيجة هل اشتغل التقرير كما ينبغي او لا

تحياتي لك

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

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

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

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

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

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.