ایس کیو ایل میں مجموعی حساب کتاب انجام دینا

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

خلاصہ

سال ماہ یونٹوں میں رقم کی مجموعی قیمت کا حساب ایس کیو ایل کا استعمال کرتے ہوئے لگایا جاتا ہے۔

عملیہ پڑتال ورژن

معاون ایس کیو ایل پیش کار ورژن

  • 2005
  • 2008
  • 2008 آر 2

ایس کیو ایل سرور ورژن چیک کریں

  • 2005
  • 2008
  • 2008 آر 2

آزمائشی ونڈوز ورژن

  • 2008
  • 2008 آر 2

مادہ

عام طور پر، ڈیٹا بیس استعمال کرتے وقت، رقم کی رقم کا حساب اکثر مخصوص سال اور مہینے کے لئے کیا جاتا ہے، لیکن ایسے معاملات بھی ہیں جہاں اس مہینے کی رقم پچھلے مہینے کے ڈیٹا کی بنیاد پر شامل کی جاتی ہے جیسے رقم اور انوینٹری۔ آپ ذخیرہ شدہ یا پروگرامکے لحاظ سے مجموعی قدروں کا حساب لگا سکتے ہیں، لیکن فی الحال میں صرف ایس کیو ایل میں حساب کرنا چاہتا ہوں۔

نیچے ایک جدول ہے، جس میں ہر سال اور مہینے کے لئے مقرر کردہ رقم ہے:

سال ماہ کی رقم مجموعی سال یونٹ کی رقم مجموعی
201004 100 صفر صفر
201005 200 صفر صفر
201006 150 صفر صفر
201007 300 صفر صفر
201008 50 صفر صفر
201009 220 صفر صفر
201010 240 صفر صفر
201011 280 صفر صفر
201012 400 صفر صفر
201101 450 صفر صفر
201102 520 صفر صفر
201103 120 صفر صفر
201104 140 صفر صفر
201105 450 صفر صفر
201106 270 صفر صفر
201107 640 صفر صفر
201108 340 صفر صفر
201109 230 صفر صفر
201110 280 صفر صفر
201111 320 صفر صفر
201112 350 صفر صفر
201201 230 صفر صفر
201202 270 صفر صفر
201203 350 صفر صفر

ایس کیو ایل میں ایک بیچ میں اپ ڈیٹ کرنے کے لئے، "پچھلے مہینے کی رقم" کو "پچھلے مہینے کی رقم" کے طور پر استعمال کرنے کے بجائے، آپ اس شرط کو منسلک کرکے مجموعی قدر کا حساب لگا سکتے ہیں کہ ماضی کی رقم ہدف سال اور مہینے سے جمع کی جاتی ہے۔

update 金額集計Test
  set 金額累計 = 累計
from
(
  select
    A.年月,
    sum(B.金額) as 累計
  from 金額集計Test A
  left outer join 金額集計Test B
    on B.年月 <= A.年月
  group by A.年月
) as C
where 金額集計Test.年月 = C.年月

جب آپ مندرجہ بالا ایس کیو ایل پر عمل درآمد کرتے ہیں، تو مجموعی قدر "رقم مجموعی" میں درج کی جاتی ہے۔

سال ماہ کی رقم مجموعی سال یونٹ کی رقم مجموعی
201004 100 100 صفر
201005 200 300 صفر
201006 150 450 صفر
201007 300 750 صفر
201008 50 800 صفر
201009 220 1020 صفر
201010 240 1260 صفر
201011 280 1540 صفر
201012 400 1940 صفر
201101 450 2390 صفر
201102 520 2910 صفر
201103 120 3030 صفر
201104 140 3170 صفر
201105 450 3620 صفر
201106 270 3890 صفر
201107 640 4530 صفر
201108 340 4870 صفر
201109 230 5100 صفر
201110 280 5380 صفر
201111 320 5700 صفر
201112 350 6050 صفر
201201 230 6280 صفر
201202 270 6550 صفر
201203 350 6900 صفر

اس کے علاوہ، اگر آپ ہر سال مجموعی قدر کو ری سیٹ کرنا چاہتے ہیں، تو آپ مشروط اظہار کو تبدیل کرکے اس کا حساب لگا سکتے ہیں۔

update 金額集計Test
  set 年度単位金額累計 = 累計
from
(
select
  A.年月,
  sum(B.金額) as 累計
from 金額集計Test A
left outer join 金額集計Test B
  on B.年月 <= A.年月
  and B.年月 >= case
                  when cast(right(A.年月, 2) as int) >= 4 then left(A.年月, 4) + N'04'
                  else cast(cast(left(A.年月, 4) as int) - 1 as nvarchar(4)) + N'04'
                end
group by A.年月
) as C
where 金額集計Test.年月 = C.年月

جب آپ مندرجہ بالا ایس کیو ایل پر عمل درآمد کرتے ہیں تو مجموعی قدر "سالانہ رقم مجموعی" میں درج کی جاتی ہے۔

سال ماہ کی رقم مجموعی سال یونٹ کی رقم مجموعی
201004 100 100 100
201005 200 300 300
201006 150 450 450
201007 300 750 750
201008 50 800 800
201009 220 1020 1020
201010 240 1260 1260
201011 280 1540 1540
201012 400 1940 1940
201101 450 2390 2390
201102 520 2910 2910
201103 120 3030 3030
201104 140 3170 140
201105 450 3620 590
201106 270 3890 860
201107 640 4530 1500
201108 340 4870 1840
201109 230 5100 2070
201110 280 5380 2350
201111 320 5700 2670
201112 350 6050 3020
201201 230 6280 3250
201202 270 6550 3520
201203 350 6900 3870