SQL 多行合并为1行 需要写函数
select * from formtable_main_20
sp_help formtable_main_20
--drop view zcountQJ01
create view zcountQJ01
as
select appman ,year(startdata) as zyear,jb,cast(sum(num) as decimal(4,1) ) as num
from formtable_main_20
where year(getdate()) = year(startdata)
group by appman,jb,year(startdata)
select * from zcountQJ01
--drop function fn_str
--创建函数
CREATE function dbo.fn_strqj(@var_appman int)
returns varchar(100)
as
begin
declare @var varchar(100)
set @var=''
select @var=@var+
-- cast(jb as varchar(10))
case jb
when 0 then '事假'
when 1 then '病假'
when 2 then '婚假'
when 3 then '丧假'
when 4 then '哺乳假'
when 5 then '探亲假'
when 6 then '公休假'
when 7 then '年假'
when 8 then '其他'
when 8 then '护理假'
end
+':'+cast(num as
相关文档:
标签:数据访问 ADO.NET
调用SQL存储过程 存储过程在一个单元中封装了复杂的SQL查询和数据过程,可以由多个程序或用户之间调用。
例:
......
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersectio ......
USE master
GO
CREATE DATABASE testbase2
ON
PRIMARY
(NAME = prim_sub_dat1,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.mdf',
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 20%),
(NAME = prim_sub_dat2,
FILENAME = 'G:\SQL SERVER2000\prim_sub_dat.ndf'
SIZE = 5MB,
MAXSIZE = 50MB,
......