View Full Version : جمع یک سطر با سطرهای قبل
  
mr_moghimkhani
چهارشنبه 21 آذر 1386, 10: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, 11: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, 11:58 صبح
http://barnamenevis.org/forum/showthread.php?t=37909
http://www.barnamenevis.org/forum/showthread.php?t=21194
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.