بتاريخ: 2 نوفمبر 201114 سنة comment_217209 السلام عليكم دلوقتى انا عندى ريكورز فى جدول وليكن4500001200015000 عاوز ارميهم فى فيلد تانى ياخد القيمة الى بعدية بمعنى45000 الى 450000 الى 4500012000 الى 5700015000 الى 72000 دى نعملها ازاى فى التقرير وممكن تتعمل بكويرى ولا اية تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة comment_217220 السلام عليكم ورحمة الله وبركاتهأسأل الله العظيم رب العرش العظيم أن يوفقك إلى كل خيرصديقىيمكن إستخدام LAG and LEAD Analytic FunctionsLAGThe LAG function is used to access data from a previous rowLEADThe LEAD function is used to return data from the next row.لإختيار القيم السابقه والقيمة التاليه SELECT empno, ename, job, sal, LEAD(sal, 1, 0) OVER (ORDER BY sal) AS sal_next, LEAD(sal, 1, 0) OVER (ORDER BY sal) - sal AS sal_diff FROM emp; EMPNO ENAME JOB SAL SAL_NEXT SAL_DIFF ---------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 800 950 150 7900 JAMES CLERK 950 1100 150 7876 ADAMS CLERK 1100 1250 150 7521 WARD SALESMAN 1250 1250 0 7654 MARTIN SALESMAN 1250 1300 50 7934 MILLER CLERK 1300 1500 200 7844 TURNER SALESMAN 1500 1600 100 7499 ALLEN SALESMAN 1600 2450 850 7782 CLARK MANAGER 2450 2850 400 7698 BLAKE MANAGER 2850 2975 125 7566 JONES MANAGER 2975 3000 25 7788 SCOTT ANALYST 3000 3000 0 7902 FORD ANALYST 3000 5000 2000 7839 KING PRESIDENT 5000 0 -5000 برجاء قراءة المووضع كامل مع الشرح من هذ اللينكhttp://www.oracle-base.com/articles/misc/LagLeadAnalyticFunctions.php تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة كاتب الموضوع comment_217224 السلام عليكم ورحمة الله وبركاتهأسأل الله العظيم رب العرش العظيم أن يوفقك إلى كل خيرصديقىيمكن إستخدام LAG and LEAD Analytic Functions LAGThe LAG function is used to access data from a previous rowLEADThe LEAD function is used to return data from the next row.لإختيار القيم السابقه والقيمة التاليه SELECT empno, ename, job, sal, LEAD(sal, 1, 0) OVER (ORDER BY sal) AS sal_next, LEAD(sal, 1, 0) OVER (ORDER BY sal) - sal AS sal_diff FROM emp; EMPNO ENAME JOB SAL SAL_NEXT SAL_DIFF ---------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 800 950 150 7900 JAMES CLERK 950 1100 150 7876 ADAMS CLERK 1100 1250 150 7521 WARD SALESMAN 1250 1250 0 7654 MARTIN SALESMAN 1250 1300 50 7934 MILLER CLERK 1300 1500 200 7844 TURNER SALESMAN 1500 1600 100 7499 ALLEN SALESMAN 1600 2450 850 7782 CLARK MANAGER 2450 2850 400 7698 BLAKE MANAGER 2850 2975 125 7566 JONES MANAGER 2975 3000 25 7788 SCOTT ANALYST 3000 3000 0 7902 FORD ANALYST 3000 5000 2000 7839 KING PRESIDENT 5000 0 -5000 برجاء قراءة المووضع كامل مع الشرح من هذ اللينكhttp://www.oracle-ba...icFunctions.php تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة كاتب الموضوع comment_217225 السلام عليكم شكرا ليكم على اهتمامكم وانا عارف الدالتين دول بس دة مش الى انا عايزة انا عايز مثلا 1000 والريكورد الى بعيدة مثلا ب 1200 يبقى الريكورد التانى ب 2200 زى Previous Record +Current Record=(that i need) تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة comment_217228 السلام عليكم شكرا ليكم على اهتمامكم وانا عارف الدالتين دول بس دة مش الى انا عايزةانا عايزمثلا 1000 والريكورد الى بعيدة مثلا ب 1200 يبقى الريكورد التانى ب 2200 زى SELECT empno, ename, job, sal, LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_prev, sal - LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_diff FROM emp; EMPNO ENAME JOB SAL SAL_PREV SAL_DIFF ---------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 800 0 800 7900 JAMES CLERK 950 800 150 7876 ADAMS CLERK 1100 950 150 7521 WARD SALESMAN 1250 1100 150 7654 MARTIN SALESMAN 1250 1250 0 7934 MILLER CLERK 1300 1250 50 7844 TURNER SALESMAN 1500 1300 200 7499 ALLEN SALESMAN 1600 1500 100 7782 CLARK MANAGER 2450 1600 850 7698 BLAKE MANAGER 2850 2450 400 7566 JONES MANAGER 2975 2850 125 7788 SCOTT ANALYST 3000 2975 25 7902 FORD ANALYST 3000 3000 0 7839 KING PRESIDENT 5000 3000 2000 المثال ده بيجيب الفرق بين القيمه دى الوقتى واللى قبلها أنت ممكن تشيل السالب وتحط موجبأو قد أكون مفهمتش السؤال كويسPrevious Record +Current Record=(that i need) تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة كاتب الموضوع comment_217229 السلام عليكم الناتج بتاع الدالة الى انت اديتهالى بس المطلوب مش اتعمل الى فى اول وتانى صف مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 = xxxxxx و xxxxxxx يتجمع عليها مبلغ وليكن 10000 ويساااوى yyyyyyy و الyyyyy يتجمع عليها مبلغ وهكذا تم تعديل 3 نوفمبر 201114 سنة بواسطة samooo14 تقديم بلاغ
بتاريخ: 3 نوفمبر 201114 سنة comment_217230 السلام عليكماولا شكرا على اهتمامك بالموضوع RETENTION WITHHELD SAL_DIFF 1,645,831.44 1,645,833.44 106,051.70 1,751,883.14 29,768.31 135,820.01 14,778.35 44,546.66 43,364.25 58,142.60 7,638.96 51,003.21 10,800.28 18,439.24 0.00 NULL دة الناتج بتاع الدالة الى انت اديتهالى بس المطلوب مش اتعمل الى فى اول وتانى صف مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 =وتترمى مكان 135,820.01 وهكذا لو بعت التابل و مثال من الداتا وحطه عندى فى الداتا بيز ممكن اعملك الكويرى (لو عرفت) تقديم بلاغ
بتاريخ: 8 نوفمبر 201114 سنة كاتب الموضوع comment_217313 مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 = xxxxxxو xxxxxxx يتجمع عليها مبلغ وليكن 10000 ويساااوى yyyyyyyو الyyyyy يتجمع عليها مبلغ وهكذا تقديم بلاغ
بتاريخ: 10 نوفمبر 201114 سنة كاتب الموضوع comment_217359 الحمد لله لقيت الحل وهوة استخدام OVER(ORDER BY Column ROWS UNBOUNDED PRECEDING تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.