读书人

sqlserver整合数据有关问题按年排序

发布时间: 2013-06-19 10:26:41 作者: rapoo

sqlserver整合数据问题,按年排序问题


我想生成个表3 或者直接查询显示也行 表3的内容包括企业的代码 企业的名称 企业09年度销售额 企业10年度销售额 企业11年度销售额

其中我能做出整合某一年的工作,
即我先从XXB中找出企业代码,然后将日期在一年内的数据找到,求和,显示,
sqlserver整合数据有关问题,按年排序有关问题


但是无法实现其他2年数据的加和,求高手解答

SQL?Server 行业数据 企业
[解决办法]

if OBJECT_ID('baseInfo') is not null  
drop table baseInfo
go

create table baseInfo
(
code int identity(1,1),
name varchar(20)
)

if OBJECT_ID('xsjl') is not null
drop table baseInfo
go
create table xsjl
(
name varchar(20),
mdate date,
sales decimal(12,2)
)

insert into baseInfo(name)
select 'comp1' union all
select 'comp2'

insert into xsjl
select 'comp1','2009-1-5',10 union all
select 'comp1','2009-5-5',10 union all
select 'comp1','2010-1-5',30 union all
select 'comp1','2010-5-5',30 union all
select 'comp1','2011-1-5',50 union all
select 'comp1','2011-5-5',50 union all
select 'comp2','2009-1-5',50 union all
select 'comp2','2011-5-5',50
go

select
t.name,
sum(case YEAR(t1.mdate) when 2009 then sales else 0 end)'企业09年度销售额',
sum(case YEAR(t1.mdate) when 2010 then sales else 0 end) '企业09年度销售额',
sum(case YEAR(t1.mdate) when 2011 then sales else 0 end) '企业09年度销售额'
from
baseInfo t
inner join xsjl t1 on t.name=t1.name
group by t.name

读书人网 >SQL Server

热点推荐