SQL
buynider
这个作者很懒,什么都没留下…
展开
-
常用存储过程
declare @Mark varchar(1)declare @userids varchar(max)declare @FileName varchar(100)set @FileName =Usernamesset @userids =+bichongjun++,++caobin+print(@userids)set @Mark =, d原创 2010-05-16 15:50:00 · 423 阅读 · 0 评论 -
SQL for xml path使用
if not object_id('Tab') is null drop table TabGoCreate table Tab([Col1] int,[Col2] nvarchar(1))Insert Tabselect 1,N'a' union allselect 1,N'b' union allselect 1,N'c' union allselect 2,N'd' union allselect 2,N'e' union allselect 3,N'f'Goselect * from Tabs转载 2011-04-28 10:49:00 · 747 阅读 · 0 评论 -
经典的SQL语句,列是可变的动态行列转换,运用了循环的思想
<br />一表:信息如下<br />月份, 商品, 单价, 金额, 仓库, 数量<br />1, 商品1, 100, 1000, 仓库1, 10<br />1, 商品1, 110, 2200, 仓库2, 20<br />1, 商品2, 100, 1000, 仓库1, 10<br />1, 商品2, 110, 3300, 仓库3, 30<br />.............<br /><br />需要通过SQL语句得到下结构:<br />月份, 商品, 单价, 金额, 仓库1, 仓库2, 仓库3<br />转载 2011-04-28 09:50:00 · 2512 阅读 · 0 评论 -
SQL多表查询行转列
create table Student(Id int,Namevarchar(10))insert Studentselect1 ,'张三'unionallselect2 ,'李四'create table ScoreType(Idint,ScoreName转载 2011-07-18 09:50:03 · 2211 阅读 · 0 评论 -
SQL LIKE反用
USE [ECDev]GO/****** Object: UserDefinedFunction [dbo].[sumDepartmentNameToString] Script Date: 10/17/2011 20:04:21 ******/SET ANS原创 2011-10-17 20:23:15 · 3521 阅读 · 0 评论 -
SQL临时表递归查询子信息并返回记录
declare @Q_ID uniqueidentifier set @Q_ID = dbo.uf_GetParamValueByName(@Params,'@指标ID'); declare @QAExp_ID char(36) --指标属性公式ID set @QAExp_ID='3D2B8F3F-0B7E-46FD-9B33-050F846C2869' declare @te原创 2011-08-12 10:35:54 · 1286 阅读 · 0 评论 -
SQL 列转行问题
表内容如下:施工日期 业务类别 合同号2009-1-1 A HI0012010-12-5 B HI0022008-10-6 C HI0032011-5-6 A HI0012012-3-27 F HI004想统计的结果如下:年度 业务类别 1月合同数 2月合同数 3月合同数 …2008 A 2008 B... 2009 2010 …转载 2012-04-01 14:04:42 · 422 阅读 · 0 评论 -
提高SQL查询效率
转载:http://panyi5202.iteye.com/blog/6124141.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以转载 2012-05-24 10:39:29 · 445 阅读 · 0 评论 -
group by 分组问题(另一种行列转换)
比如我有一个TeamInfo 表 表数据为 id name title tutortype degree 1 张三 教授 博导 博士 2 李四 副教授 硕导 硕士 3 张四 讲师 硕导 博士 4转载 2012-11-19 11:07:45 · 2298 阅读 · 0 评论 -
大数据量并发处理
大并发大数据量请求的处理方法大并发大数据量请求一般会分为几种情况:1.大量的用户同时对系统的不同功能页面进行查找,更新操作2.大量的用户同时对系统的同一个页面,同一个表的大数据量进行查询操作3.大量的用户同时对系统的同一个页面,同一个表进行更新操作 对于第一种情况一般处理方法如下:一。对服务器层面的处理1. 调整IIS 7应用程序池队列长度由原来的默认1000改转载 2013-03-10 12:30:10 · 23880 阅读 · 3 评论 -
连接池知识
连接时间当我们执行conn.Open()时,首先,必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前事务中登记,等等这一系列操作可能需要一两秒钟时间,如果我们每次执行conn.Open()都有进行这一系列操作是很耗费时间的,为了使打开的连接成本最低,ADO.NET使用称为连接池的优化方法。连转载 2013-06-20 09:53:21 · 680 阅读 · 0 评论 -
CET递归查询
先看如下一个数据表(t_tree): 上图显示了一个表中的数据,这个表有三个字段:id、node_name、parent_id。实际上,这个表中保存了一个树型结构,分三层:省、市、区。其中id表示当前省、市或区的id号、node_name表示名称、parent_id表示节点的父节点的id。 现在有一个需求,要查询出某个省下面的所有市和区(查询结果包含省)。如果只使用转载 2013-07-17 10:35:53 · 1723 阅读 · 0 评论 -
Reporting打印分页
以前在使用Reporting Service的时候都不知道,其分页的具体规则。只知道当觉得报表每页长度太小的时候就把报表主体拉长,希望这样报表在每页可以显示更多的数据,当然得到的结果是不尽人意的,因为你会发现你将报表主体拉长后报表还是在原先的位置分页了,其中根本的原因是,控制报表分页位置的并不是报表主体的长和宽,而应该是报表属性窗口中纸张大小标题下的宽度和高度。 1,先搞清怎么调整转载 2013-11-19 20:23:52 · 1108 阅读 · 0 评论 -
SQL收缩日志
在SQL运行中,有时发现日志文件过大,影响的内存空间大小,这时我们需要进行SQL收缩日志的操作 1 查看数据库的recovery_model_desc类型SELECT NAME, recovery_model_desc FROM sys.databases 2 如果是Full类型,则修改为SimpleALTER DATABASE IPDDMSDB SET Recovery s转载 2014-03-12 13:41:41 · 689 阅读 · 0 评论 -
查看SQL Profiler
SQL Profiler中需要勾选的事件如下:原创 2014-03-20 10:25:29 · 538 阅读 · 0 评论 -
在存储过程中执行别的存储过程并返回其结果集
CREATE TABLE TestTable ( ID INT )INSERT INTO TestTable SELECT 1 UNION SELECT 2 UNION SELECT 3goselect * from TestTableCREATE PROCEDURE [dbo].[U转载 2014-04-09 14:04:49 · 804 阅读 · 0 评论 -
In与Exists的区别
NOT INSELECT DISTINCT MD001 FROM BOMMD WHERE MD001 NOT IN (SELECT MC001 FROM BOMMC)NOT EXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度select DISTINCT MD001 from BOMMD WHERE NOT EXISTS转载 2014-06-03 13:48:44 · 857 阅读 · 0 评论 -
SQL中的XML,XPath,XQuery查询方法
<br />/*<br />sql xml 入门:<br /> --by jinjazz<br /> --http://blog.csdn.net/jinjazz<br /> <br /> 1、xml: 能认识元素、属性和值<br /> <br /> 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)<br /> <br /> 语法格式,这些语法可以组合为转载 2011-04-28 10:01:00 · 807 阅读 · 0 评论 -
SQL中的XML,XPath,XQuery查询方法
/*sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1、xml: 能认识元素、属性和值 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"转载 2011-04-28 10:01:00 · 1184 阅读 · 0 评论 -
SQL中常见函数的用法
1Replace函数在SQL SERVER 2000中有一个信息表,存放新闻信息,现在客户想批量更新这个字段中的某些文字,替换为其他文字。解决方法:利用replace函数update detail set content=replace(content,原文字,替换后文字) where 条件 构造使用IN子句的动态Transact-SQL方法进行编号查询 --查询的转载 2010-05-25 09:35:00 · 581 阅读 · 0 评论 -
[sql server] 分拆列值
<br />问题描述:<br />有表tb, 如下:<br />id values<br />----------- -----------<br />1 aa,bb<br />2 aaa,bbb,ccc<br /> <br />欲按,分拆values列, 分拆后结果如下:<br />id value<br />----------- --------<br />1 aa<br />1 bb<转载 2010-08-30 16:43:00 · 550 阅读 · 0 评论 -
主键,唯一索引 聚集索引的关系
为列创建索引实际上就是为列进行排序,以方便查询.建立一个列的索引,就相当与建立一个列的排序。主键是唯一的,所以创建了一个主键的同时,也就这个字段创建了一个唯一的索引 主键一唯一索引的区别:1 一个表的主键只能有一个,而唯一索引可以建多个。2 主键可以作为其它表的外键。3 主键不可为null,唯一索引可以为null。原创 2010-12-06 11:15:00 · 13957 阅读 · 1 评论 -
SQL Server 分区表
分区表就是在物理上将一个大表分成若干个小表,但是在逻辑上还是一个表如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了。 1、数据库中某个表中的数据很多。很多是什么概念?一万条?两万条?还是十万条、一百万条?这个,我觉得是仁者见仁、智者见智的问题。当然数据表中的数据多到查询时明显感觉到数据很慢了,那么,你就可以考虑使用分区表了。如果非要我说一个数值的话,我认为是100万条。 2、但是,数据多了并不是创建分区表的惟一条件,哪怕你有一千万条记转载 2010-12-06 10:33:00 · 1606 阅读 · 1 评论 -
字符串的拆分
<br />我有一个Table myTable (iName varchar(6),iDesc varchar(2000))<br />内容示例如下:<br />iName iDesc<br />A AGF/dfgh<br />B rty/fghjk/uyt/fghj<br />F rty/ghj/cvb<br />H转载 2011-01-12 10:55:00 · 1087 阅读 · 0 评论 -
经常用到的交叉表问题,一般用动态SQL能生成动态列
<br />--原贴<br />http://community.csdn.net/Expert/topic/4200/4200386.xml?temp=.4856989<br />原始表如下格式:<br />Class CallDate CallCount<br />1 2005-8-8 40<br />1 2005-8-7 6<br />2 2005-8-8 77<br />3 2005-8-9 33<br />3 2005-转载 2011-01-12 11:03:00 · 671 阅读 · 0 评论 -
求一组数据中最大的值(也可以理解为近三个月是最后一条记录)
<br />--原贴 http://community.csdn.net/Expert/topic/4169/4169825.xml?temp=.4744684<br />我有一张表A(BMMC,BMBH,LXR,TEL,VALUE)<br />现在要求按BMBH分类,并把相应的VALUE最大的那条记录显示出来,<br />即<br />A<br />BMMC BMBH,LXR,TEL,VALUE<br />AA 1 W1 t1 3<br />BB 2 W2 t2 4<br转载 2011-01-12 11:12:00 · 8154 阅读 · 0 评论 -
求记录中的最新数据的方法!(重要)
已知数据:Column1 Column2 Column3 Column4A 10 am 1999-01-01 00:00:00.000A 11 am 1999-01-02 00:00:00.000B 12 bm转载 2011-01-12 13:52:00 · 471 阅读 · 0 评论 -
数据统计例子,相关子查询!(SQL 中循环操作一列数据方法)
<br />问题:<br />数据及需要实现的累计值--即每次“发货数量”与上次发货的“累计”值相加后再放入一张表中体现出来<br />表A<br />_______________________________________<br />| ID 提单号 提货日期 实发数量 累计|<br />|--------------------------------------|<br />| 1 0007 2005-01-1 80.3 80.3| <br />| 2 0007转载 2011-01-12 14:22:00 · 617 阅读 · 0 评论 -
按日统计销售情况例子(每天的期末值是下一天的期初值)重要
<br />CREATE TABLE tb(<br />ID int IDENTITY PRIMARY KEY,<br />Item varchar(10), --产品编号<br />Quantity int, --交易数量<br />Flag bit, --交易标志,1代表入库,0代表出库,这样可以有效区分退货(负数)<br />Date datetime) --交易日期<br />INSERT tb SELECT 'aa',100,1,'2005-1-1'<br /原创 2011-01-12 11:28:00 · 1026 阅读 · 0 评论 -
分组统计(平均值算法)
<br />表中三个字段<br />|---------------------------------------------|<br />| 产品 数量 单价 |<br />|=============================================|<br />| A 3 20 |<br />| A 4转载 2011-01-12 14:07:00 · 5726 阅读 · 0 评论 -
计算连续号处理方式10001-11
<br />id 批次<br />10001 1<br />10002 1<br />10003 1<br />。。。 1<br />10011 1<br />20001 2<br />20002 2<br />20003 3<br />想得到的结果<br />id 批次<br />10001-11 1<br />20001-2 2<br />20003 3<br />就是说只要是一转载 2011-01-12 14:30:00 · 519 阅读 · 0 评论 -
经常遇到的,一个字段显示多字段数据(精典)
有表內容﹕編號 內容A abcA aaaA ddddB 1223B fkdjfd....實現結果﹕A abc,aaa,ddddB 1223,fkdjfd要求用一條SQL實現﹐如﹕select sum(內容) from table group by 編號--该问题,写一个合并函数,后,分组合并既可!--测试数据create Table 表(編號 varchar(20),內容 varchar(20))insert 表 select 'A','abc'union all se转载 2011-01-12 14:53:00 · 890 阅读 · 0 评论 -
SQL中的XML,XPath,XQuery查询方法
<br />/*<br />sql xml 入门:<br /> --by jinjazz<br /> --http://blog.csdn.net/jinjazz<br /> <br /> 1、xml: 能认识元素、属性和值<br /> <br /> 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)<br /> <br /> 语法格式,这些语法可以组合为转载 2011-04-28 10:00:00 · 2742 阅读 · 0 评论 -
SQL 函数计算
SQL codecreate table tb(id int, subjectid int, content varchar(10) , isright int) insert into tb values(1 , 101 , '题目内容', 0 ) insert into tb values(2 , 101 , '题目内容', 0 ) insert into tb values(3 , 101 , '题目内容', 1 ) insert into tb values(4 , 101 , '题目内容', 1转载 2011-04-28 10:51:00 · 544 阅读 · 0 评论 -
关于期初期末循环累加的SQL
if exists (select * from sysobjects where id = object_id(N'Jxc') and OBJECTPROPERTY(id, N'IsUserTable') = 1)begin drop table JxcendCREATE TABLE [jxc] ([fdDate] [datetime] NULL ,[fdId] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[fdNumber] [decimal](18,原创 2011-04-27 14:58:00 · 4266 阅读 · 0 评论 -
成绩排名SQL语句
库表结构 CREATE TABLE [dbo].[SC]( [Sid] [varchar](50) NULL, [Cid] [varchar](50) NULL, [Score] [float] NULL) ON [PRIMARY]表数据转载 2014-06-06 16:47:29 · 1069 阅读 · 0 评论