多个汇总列转换为行记录 mssql
--1. 多个汇总列转换为行记录。/*-- 下面的示例将列Quarter水平显示,统计每年(列Year)的数据(列Quantity)合计 平均价格(列Price)。在处理平均价格和总金额时,由于聚合函数会把处理结果转换为float 所以使用了CAST函数将数据转换为decimal并保留两位小数。--*/DECLARE @t TABLE(Year int,Quarter i …… 阅读全文
--1. 多个汇总列转换为行记录。/*-- 下面的示例将列Quarter水平显示,统计每年(列Year)的数据(列Quantity)合计 平均价格(列Price)。在处理平均价格和总金额时,由于聚合函数会把处理结果转换为float 所以使用了CAST函数将数据转换为decimal并保留两位小数。--*/DECLARE @t TABLE(Year int,Quarter i …… 阅读全文
/*=================== 导入/导出 Excel 的基本方法 ===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*===================================================================*/--如果接受数据导入的表已经存在ins …… 阅读全文
--把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like '%平%'--把"北京"地区的职工的工资减少100,再增加1倍update 职工备份 set 工资=(工资-100)*2 where 仓库号 in (select 仓库号 from 仓库备份 wher …… 阅读全文
--在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量set @w=120 --为变量赋值 if @w<=100 --if条件语句 begin --Begin程序块 set @yz=@w*0 …… 阅读全文
--不带参数的存储过程CREATE procedure proc_sql1asbegin declare @i int set @i=0 while @i<26 begin print char(ascii('a')+@i)+'的ASCII码是:'+cast(ascii('a')+@i as varchar(50)) …… 阅读全文
declare db_cursor4 scroll cursor for select * from 供应商 --声明游标open db_cursor4 --打开游标fetch first from db_cursor4 --读取游标中的第一条数据记录fetch n …… 阅读全文
--创建和执行事后触发器--更新仓库备份表中记录时自动创建数据表且插入三条记录create trigger db_trigger1 on 仓库备份 for updateasbegin if Exists(select * from sys.sysobjects where id=OBJECT_ID('db_tabletriuser')) drop table db_table …… 阅读全文
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件/*Or运算符*/use db_businessgo select * from 仓库 where 城市='北京' or 城市='青岛' --包含or运算符 sql将不使用索引,影响速度/*In运算符*/use db_businessgo select * from 仓库 where 城市 in(' …… 阅读全文