PDA

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



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

JAFO_IRAN
چهارشنبه 21 آذر 1386, 10:54 صبح
سلام

بسیار داستان جالبی است - خیلی وقته که با آن درگیرم - تا به حال فقط یک روش سخت با استفاده از temp table و cursor در یک batch به نظر رسیده است که در ادامه ذکر میکنم - حتما این پاسخ مورد نظر شما نبوده ولی برای آغاز بحث....



declare @ATable table (fld_Num int, fld_Name nvarchar(255))

declare @ASum int, @ANum int, @AName nvarchar(255)
select @ASum = 0

declare ACursor cursor local for
select fld_SrcNum, fld_SrcName from tbl_Src order by fld_SrcNum

open ACursor

fetch next from ACursor into @ANum, @AName
while @@FETCH_STATUS <> -1
begin
if @@FETCH_STATUS <> -2
begin
select @ASum = @ASum + @ANum
insert @ATable(fld_Num, fld_Name) values (@ASum, @AName)
end
fetch next from ACursor into @ANum, @AName
end

close ACursor
deallocate ACursor

select * from @ATable


ارادت

AminSobati
چهارشنبه 21 آذر 1386, 10:58 صبح
http://barnamenevis.org/forum/showthread.php?t=37909
http://www.barnamenevis.org/forum/showthread.php?t=21194