PDA

View Full Version : جمع یک سطر با سطرهای قبل



mr_moghimkhani
سه شنبه 20 آذر 1386, 16:31 عصر
من یه Table دارم که توش یه ستون داره که یه سری ارقام رو نگه میداره، حالا میخوام یه دستور Select بنویسم که هر سطرش مجموع مقدارهای موجود در سطرها قبلی اون باشه.
مثلاً: اگر مقادیر اصلی در جدول به ترتیب 1-2-3-4-5-6-7-8-9 بود، بعد از Select تبىیل بشه به 1-3-6-10-15-21-28-36-45
اگر واضح نیست که بیشتر توضیح بدم؟

dr_csharp
سه شنبه 20 آذر 1386, 17:44 عصر
شما میتونی اینکار رو با استفاده از حلقه ی While در SQL انجام بدی ! بطوریکه در هر بار اجرای حلقه علاوه بر select در پایان یک Insert هم انجام بدین ( منظور از Insert جمع مقدار فعلی فیلد با مقدار قبلی هست )

رضا عربلو
سه شنبه 20 آذر 1386, 21:50 عصر
فکر می کنم یه همچین چیزی باید بشه.


DECLARE @X int
SET @X=0
Select Field1, @x=Field1+@X From Table1


با این حال بهتر سوالت تو بخش اسکیو ال سرور بپرسی

mr_moghimkhani
چهارشنبه 21 آذر 1386, 09:37 صبح
ممنونم، منم تا حالا از همین روشها استفاده میکردم ولی میخواستم بدونم میشه تو خود دستور Select اینکارو کرد؟



با این حال بهتر سوالت تو بخش اسکیو ال سرور بپرسی
ممنون. اگه اونجا به جایی رسیدم جوابشو اینجا قرار میدم.

ir_programmer
چهارشنبه 21 آذر 1386, 09:54 صبح
از function برا محاسبه سطر قبل استفاده کن و تو select بزار.

mr_moghimkhani
چهارشنبه 21 آذر 1386, 12:49 عصر
کد اصلی تقریباً اینه


SELECT ID, NUm,
(SELECT SUM(Num)
FROM TBLSum TBLSum2
WHERE ID <= TblSum.ID) AS MYSum
FROM TBLSum


ولی بیشتر خواستین بهتره به اینجا سر بزنین
http://barnamenevis.org/forum/showthread.php?t=87561
موفق باشید