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

جملة Select لباراميتر في تقرير معين

Featured Replies

بتاريخ:

الأخوة الأعضاء السلام عليكم ورحمة الله وبركاته

شهر كريم على الجميع

انا عندي جدول لموظفين وبعمل تقرير بيظهر لي كل الموظفين الذكور او الأناث او الكل

طبعا في جدول نوع الجنس 1  ذكر

2 انثى

وعندي باراميتر اسمه P_gndr_id

وفي قيمة List of values

عملت الجملة دي

select 0 as pk ,'الكل' from dual
select 2 as pk ,'اذكر' from dual
select 3 as pk ,'انثى' from dual

المشكلة بما بتكون قيمة الباراميتر 1 او 2 بيشتغل وبيظهر سجلات

بس لما بيكون 0 ما بيظهرش ولا سجل وانا اريد اظهار كل السجلات عندما يكون الخيار 0

فالرجاء مساعدتي بعمل هذا الشي

مع العلم انني استخدم اصدار 6اي

وسحبت دروس من المنتدى بخصوص هذا الشي وطبقت عليها كل العمليات بس ما مشي الحال

والله يكرمنا برحمته وغفرانه وعتقنا من النار

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

بتاريخ:

السلام عليكم

جربي استخدام الكود التالي في الكويري:

And Nvl(Gender_Code, 0) = Nvl(_gndr_id, Nvl(Gender_Code, 0))
بتاريخ:

السلام عليكم,

سيدي العزيز بما انه لا يوجد عندك قيم بقيمة 0 فلن يرجع شيء في الكويري و لكن اذا استخدمنا متغير اسمه x مثلا فسيكون الوضع كما يلي:

 

على البراميتر فورم استخدم X كقائمة و يأخذ القيم كما في الكود التالي :


select 0,'all' from dual
union
select 2 ,'male' from dual
union
select 3 ,'female' from dual
 

و اما فب الكويري الرئيسية للتقرير نضيف ما يلي:

and 
(
(:x=2 and gender = 2 )
or
(:x=3 and gender = 3 )
or
(:x=0 and gender >0 )
)
 

بالتوقيق

تم تعديل بواسطة mahajneh

بتاريخ:
  • كاتب الموضوع
And Nvl(Gender_Code, 0) = Nvl(_gndr_id, Nvl(Gender_Code, 0))

انا جربت الكود ده بس ما بيطلعش نتايج ابدا

جربت وعملت الكود ده

select emp_name,dept_no,gndr_id
from employee
where emp_name=: p_find_name
and gndr_id=(case when : p_gndr_id=0 then gndr_id else gndr_id end)

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

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

بتاريخ:

السلام عليكم

جربي هذه الطريقة:

 

SELECT a.emp_name,
       a.dept_no,
       a.gndr_id
  FROM employee a
 WHERE a.emp_name = _find_name
   AND a.gndr_id IN
          (SELECT DECODE (_gndr_id,
                          2, 2,
                          3, 3,
                          0, (SELECT gndr_id
                                FROM employee b
                               WHERE gndr_id IN (2, 3))
                         )
             FROM employee c)
بتاريخ:

 


select * from your_table
where gender_id=_gndr_id or _gndr_id=0

 

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

بتاريخ:

ضع جملة الـ where التالية في الكويري المستخدمة وسوف تحل المشكلة ان شاء الله :)

select .... where decode(_gndr_id,0,0,gender_column)=decode(_gndr_id,0,0,_gndr_id)

تم تعديل بواسطة hammode90

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

السلام عليكم,

سيدي العزيز بما انه لا يوجد عندك قيم بقيمة 0 فلن يرجع شيء في الكويري و لكن اذا استخدمنا متغير اسمه x مثلا فسيكون الوضع كما يلي:

 

على البراميتر فورم استخدم X كقائمة و يأخذ القيم كما في الكود التالي :


select 0,'all' from dual
union
select 2 ,'male' from dual
union
select 3 ,'female' from dual
 

و اما فب الكويري الرئيسية للتقرير نضيف ما يلي:

and 
(
(:x=2 and gender = 2 )
or
(:x=3 and gender = 3 )
or
(:x=0 and gender >0 )
)
 

بالتوقيق

الحمدلله رب العالمين

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

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

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

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

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

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

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.