求一个视图写法
现有2个表
表一:
费用分类表
ID 项目名称
表二:
月销售费用一览表
年 月 ID 金额
这么做是为了可以灵活的设置费用项。
现在想要查询出一张总表:
年,月,项目名1,项目名2....
2006,7,100,200
不知道怎么写sql语句了,大家帮帮忙。
这个问题刚才有朋友给了解决办法,不过只能创建存储过程,我想要创建一个视图,不知道怎么弄。
Declare @sql varchar(8000)
set @sql='select 年,月 '
select @sql=@sql+',max(case [id] when'''+[id]+''' then 金额 else NULL end)['+项目名称+']'
from (select distinct [id],项目名称 from 费用分类表) as a
select @sql=@sql+'from 月销售费用一览表 group by 年,月'
exec(@sql)