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

بتاريخ:

ده فكره مشكله مش لاقيلها حل

 

نعتبر ده الجدول

 

Task   Dept   Value

 

11         1        200

12         1        300

13         1        100

14         2        400

15         2        600

16         3        200

17         3        100

18         4        400

 

 

ازاى نوصل للنتيجه ده : اكبر قيمه و رقم التاسك فى كل قسم على حدى

 

Task   Dept   Value

1         12         300

2         14         600

3         16         200

4         18         400

 

 

Select.bmp

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

عفوا ده الصحيح

 

Value  Dept   Task  

 

11         1        200

12         1        300

13         1        100

14         2        400

15         2        600

16         3        200

17         3        100

18         4        400

 

 

ازاى نوصل للنتيجه ده : اكبر قيمه و رقم التاسك فى كل قسم على حدى

 

Value   Task   Dept  

1         12         300

2         14         600

3         16         200

4         18         400

 

بتاريخ:

 

اخى العزيز

اولا اعلى قيمة فى القسم رقم 2 هى  1600 اى تاسك 15 وليس 14

 

 

يمكن الوصول الى النتيجة كالتالى 





create table test
Task number,
Dept number,
xValue  number);


insert into test values (11    ,     1    ,    200);
insert into test values (12   ,      1    ,    300);
insert into test values (13   ,      1    ,    100);
insert into test values (14   ,      2   ,     400);
insert into test values (15  ,       2   ,     600);
insert into test values (16  ,       3  ,      200);
insert into test values (17  ,       3 ,       100);
insert into test values (18  ,       4  ,      400);


--------------الحل--------------------
 select a.TASK ,b.dept,b.m  
 from test_task a,
  (select  max(XVALUE) m,dept from test_task group by dept) b
  where a.dept=b.dept
  and a.xvalue=b.m
 /


  TASK       DEPT          M
------ ---------- ----------
    12          1        300
    15          2        600
    18          4        400
    16          3        200
/

تحياتى

 

 

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

شكر الله لكى عنى عظيم الشكر

بتاريخ:

 

اخى العزيز
اولا اعلى قيمة فى القسم رقم 2 هى  1600 اى تاسك 15 وليس 14
 
 
يمكن الوصول الى النتيجة كالتالى 



create table test
Task number,
Dept number,
xValue  number);


insert into test values (11    ,     1    ,    200);
insert into test values (12   ,      1    ,    300);
insert into test values (13   ,      1    ,    100);
insert into test values (14   ,      2   ,     400);
insert into test values (15  ,       2   ,     600);
insert into test values (16  ,       3  ,      200);
insert into test values (17  ,       3 ,       100);
insert into test values (18  ,       4  ,      400);


--------------الحل--------------------
 select a.TASK ,b.dept,b.m  
 from test_task a,
  (select  max(XVALUE) m,dept from test_task group by dept) b
  where a.dept=b.dept
  and a.xvalue=b.m
 /


  TASK       DEPT          M
------ ---------- ----------
    12          1        300
    15          2        600
    18          4        400
    16          3        200
/
تحياتى

 

ده درس ايه ده يا بشمهندس في السكول , عشان اقرأه , يعني السيليكت بالطريقة دي اسمه ايه , الاقيه فين ؟ وعلي فكرة مع الأسف الجملة مش بتجيب نتيجة .

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

بتاريخ:

النتيجة :

      TASK       DEPT          M
---------- ---------- ----------
        12          1        300
        15          2        600
        16          3        200
        18          4        400

لكن هناك خطأ ويبدو أنه وجد سهوا في جملة ال Select  ولما قمت بتغييره عمل الكود بكفاءة 
ويبدو ان هذا الخطأ هو ما جعل الأخ اسلام يحكم على الكود انه لا يأتي بنتيجة
الخطأ في اسم الجدول "test_task" مع أن أسم الجدول هو " test " 

وهذا هو الكود بدون أخطاء 

شكرا أخت اسماء على الكود

 select 
	a.TASK ,b.dept,b.m  
 from 
	test a,
	(select  max(XVALUE) m,dept from test group by dept) b
where 
	a.dept=b.dept
  and   a.xvalue=b.m;
بتاريخ:

أنا نفذت الكود لكني لا استطيع ان افهمه جيدا فلو تكرمت أختنا بشرحه بشئ من التفصيل

بتاريخ:

b

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

انا جابت معايه تنيجه لأنى اضفت الكود لالسيليكت بتاعتى

ولكن الكود بطأ السيليكت كثير جدا فهل يوجد حل ام اننى لم اضبطه بشكل صحيح و الى سيادتكم السيليكت كامل

select   a.SR
       , Null  A_V
       , a.SEGMENT1  H_A
       , a.SR_CREATION_DATE
       , a.TASK_STATUS
       , i.incident_type_name  SR_Type
       , a.TASK_TYPE  TASK_TYPES
       , a.SCHEDULED_END_DATE
     
  from GS_CHARGES_AUDIT a
       , (select  max(SCHEDULED_END_DATE) m,sr from GS_CHARGES_AUDIT group by SR) b
       ,  CSF_CT_TASKS   i

 

  where (a.TASK = i.task_number)
           and a.sr=b.sr
           and a.SCHEDULED_END_DATE = b.m

GROUP BY  a.SR
       , Null
       , a.SEGMENT1
       , a.SR_CREATION_DATE
       , a.TASK_STATUS
       , i.incident_type_name
       , a.TASK_TYPE
       , a.SCHEDULED_END_DATE

بتاريخ:

الفكرة ياشباب كلاتى:

الشكل العام والكامل لعبارة select يحتوى على ال clauses التالية:

select ------

from ------

where ----

group by ----

having -----

الجديد هنا فى ال form clause بدلا من ذكر الجدول مباشرة تم عن طريق طريق سيليكت اخرى

يعنى مممن تضيف سيلكت كاملة داخل ال from clause زى ما اصلنا بنعرف ممكن نضيفها داخل ال where clause فى حال ال subqquery

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

مشكلة البطء كانت ببحث بين تريخين و لم اضيف شرط البحث للـ subquery

 

select   a.SR
       , Null  A_V
       , a.SEGMENT1  H_A
       , a.SR_CREATION_DATE
       , a.TASK_STATUS
       , i.incident_type_name  SR_Type
       , a.TASK_TYPE  TASK_TYPES
       , a.SCHEDULED_END_DATE
     
,  from GS_CHARGES_AUDIT a
       (select  max(SCHEDULED_END_DATE) m,sr from GS_CHARGES_AUDIT

 where SR_CREATION_DATE >= to_date('&From_Date')
            and   SR_CREATION_DATE <= to_date('&To_Date')
  group by SR) b
       ,  CSF_CT_TASKS   i

 

  where (a.TASK = i.task_number)
           and a.sr=b.sr
       
    and a.SCHEDULED_END_DATE = b.m


 where SR_CREATION_DATE >= to_date('&From_Date')
            and   SR_CREATION_DATE <= to_date('&To_Date')

 

GROUP BY  a.SR
       , Null
       , a.SEGMENT1
       , a.SR_CREATION_DATE
       , a.TASK_STATUS
       , i.incident_type_name
       , a.TASK_TYPE
       , a.SCHEDULED_END_DATE

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

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

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

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

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

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.