ورود

View Full Version : SELECT خاص: نمایش رکورد مجموع در لیست



nafasak
چهارشنبه 18 آبان 1390, 09:50 صبح
سلام،

من میخوام گزارشی به سبک زیر بگیرم،

گروه ردیف رتبه زیرگروه مقدار
-------------------------------------------------------
گروه1 1 1 زیرگروه1 N1
گروه1 2 1 زیرگروه2 N2
گروه1 3 1 زیرگروه3 N3
جمع رتبه 1 N1+N2+N3...
گروه1 4 2 زیرگروه4 N4
گروه1 5 2 زیرگروه5 N5
گروه1 6 2 زیرگروه6 N6
جمع رتبه 2 N4+N5+N6...
گروه2 1 1 زیرگروه1 N1
گروه2 2 1 زیرگروه2 N2
گروه2 3 1 زیرگروه3 N3
جمع رتبه 1 N1+N2+N3...
-----------------------------------------------------------------
جمع کل N...Nx


آیا توی میشه با query انجامش داد؟ در صورت امکان لطفا راهنمایی بفرمایید (Sample)


ممنون

mina_ghorbani
چهارشنبه 18 آبان 1390, 10:41 صبح
اگر از SQL 2008 استفاده ميكنيد از اين راه مي تونيد


SELECT ISNULL(CONVERT(NVARCHAR(10),[شماره گروه]),'جمعرتبه'),SUM([مقدار])AS[جمع رتبه]

FROM [جدول]

GROUP BY GROUPING SETS(([شماره گروه]),())

nafasak
چهارشنبه 18 آبان 1390, 11:26 صبح
mina خانم خیلی ممنون..

اما من Sql2005 دارم، البته نیازی به تگ های مربوط به فونت و ... نیست..
فقط اطلاعات لیست درونی برای من مهمه...

گروه1 1 1 زیرگروه1 N1
گروه1 2 1 زیرگروه2 N2
گروه1 3 1 زیرگروه3 N3
جمع رتبه 1 N1+N2+N3...
گروه1 4 2 زیرگروه4 N4
گروه1 5 2 زیرگروه5 N5
گروه1 6 2 زیرگروه6 N6
جمع رتبه 2 N4+N5+N6...
گروه2 1 1 زیرگروه1 N1
گروه2 2 1 زیرگروه2 N2
گروه2 3 1 زیرگروه3 N3
جمع رتبه 1 N1+N2+N3...

baktash.n81@gmail.com
چهارشنبه 18 آبان 1390, 13:23 عصر
سلام

اگه می خوای که خروجی کد Sql ی که می نویسی یه مجموع هم در آخرین رکوردش داشته باشه باید یه Select بنویسی که رکورد هارو برگردونه یه Select هم بنویسی که مجموع رو حساب کنه ( شبیه همونی که در بالا برات نوشتن) بعد با استفاده از دستور Unino All این دوتا را با هم اجتماع کنی :




Select F1,F2,F3 From ...
Union All
Select Sum(F1),Sum(F2),Sum(F3) From ... Group by ...