A.Farzin
سه شنبه 16 مهر 1387, 18:27 عصر
با سلام
من ميخواهم در يك SELECT به كمك aggregate functionsها اقدام به جمعگيري و ماندهگيري كنم. در ضمن لازم دارم تا پس از بدست آمدن مقادير aggregate دوباره اقدام به شكستن مانده برحسب سالهاي مربوط كنم. اين موضوع را در تصوير پيوست نمايش دادهام. لطفاً ببينيد. براي انجام آن بنده را از راهنمائي خود بهرهمند فرمائيد. ممنونم.
آيا اصلاً چنين كاري با SELECT امكانپذير است و يا اينكه بايد اطلاعات را در يك جدول موقت ريخته و با مثلاً يك SP و با دستورات UPDATE، INSERT و يا DELETE آنها را دستكاري كرد و به نتيجه رسيد.
اسكريپتهاي زير، در ساخت جدول مثال استفاده كنيد.
USE [tempdb]
GO
CREATE TABLE [dbo].[Kala](
[sal] [int] NULL,
[KalaCod] [int] NULL,
[input] [int] NULL,
[output] [int] NULL
) ON [PRIMARY]
insert into kala (sal, KalaCod, input, output) values (1384, 1, 35, 17)
insert into kala (sal, KalaCod, input, output) values (1385, 1, 14, 15)
insert into kala (sal, KalaCod, input, output) values (1386, 1, 31, 10)
insert into kala (sal, KalaCod, input, output) values (1384, 2, 35, 17)
insert into kala (sal, KalaCod, input, output) values (1385, 2, 10, 11)
insert into kala (sal, KalaCod, input, output) values (1386, 2, 31, 5)
select * from kala
select sum(input) as sumIn,
sum(output) as SumOu,
sum(input - output) as OnHand
from kala
group by KalaCod
ممنون
من ميخواهم در يك SELECT به كمك aggregate functionsها اقدام به جمعگيري و ماندهگيري كنم. در ضمن لازم دارم تا پس از بدست آمدن مقادير aggregate دوباره اقدام به شكستن مانده برحسب سالهاي مربوط كنم. اين موضوع را در تصوير پيوست نمايش دادهام. لطفاً ببينيد. براي انجام آن بنده را از راهنمائي خود بهرهمند فرمائيد. ممنونم.
آيا اصلاً چنين كاري با SELECT امكانپذير است و يا اينكه بايد اطلاعات را در يك جدول موقت ريخته و با مثلاً يك SP و با دستورات UPDATE، INSERT و يا DELETE آنها را دستكاري كرد و به نتيجه رسيد.
اسكريپتهاي زير، در ساخت جدول مثال استفاده كنيد.
USE [tempdb]
GO
CREATE TABLE [dbo].[Kala](
[sal] [int] NULL,
[KalaCod] [int] NULL,
[input] [int] NULL,
[output] [int] NULL
) ON [PRIMARY]
insert into kala (sal, KalaCod, input, output) values (1384, 1, 35, 17)
insert into kala (sal, KalaCod, input, output) values (1385, 1, 14, 15)
insert into kala (sal, KalaCod, input, output) values (1386, 1, 31, 10)
insert into kala (sal, KalaCod, input, output) values (1384, 2, 35, 17)
insert into kala (sal, KalaCod, input, output) values (1385, 2, 10, 11)
insert into kala (sal, KalaCod, input, output) values (1386, 2, 31, 5)
select * from kala
select sum(input) as sumIn,
sum(output) as SumOu,
sum(input - output) as OnHand
from kala
group by KalaCod
ممنون