先记录下来 以后整理

1.常用语句

1.1update连表更新

update a set a.YCaseNo = a.WordName + '【'+ convert(varchar,a.CaseYear) + '】'+ '第'+ convert(varchar,b.YCaseNo) +'号'
from [TCase_WordInfo] a inner join dbo.TCase_DetailInfo b on a.CSerialNo = b.CSerialNo

2.统计

select a.CaseYear,e.Data as keptdate,COUNT(distinct(a.CSerialNo)) as words,COUNT(distinct( c.VolumeId)) as volumns,COUNT(distinct(d.SerialNo)) as documents from dbo.TCase_WordInfo a inner join dbo.TCase_BaseInfo b on a.CSerialNo=b.CSerialNo inner join dbo.TCase_DetailInfo f on b.CSerialNo=f.CSerialNo left join TCase_VolumeInfo c on a.CSerialNo = c.CSerialNo left join TCase_DocumentInfo d on c.VolumeId = d.VolumeId left join(select DataId, Data from dbo.TDictionary_BaseData where Id = 'CAIS_02_001') e on b.KeepingTermId = e.DataId where d.IsDeleted=0  and f.Undertaker like '%任双添%'  group by a.CaseYear,e.Data

3.存储过程

use Cais_DB;
go

--判断是否存在存储过程,如果存在则删除
if exists(select * from sys.procedures where name='')
drop procedure 存储过程名称;
go

--创建存储过程
create procedure Proc_StaticsWordInfo
@StartCaseYear int,
@EndCaseYear int,
@DataId int,
@Undertaker nvarchar(50)
as
begin
declare @Sql nvarchar(2000) = ''
declare @Where nvarchar(1000) = ''
set @Sql = 'select a.CaseYear,COUNT(distinct(a.CSerialNo)) as words,e.Data as keptdate,COUNT(distinct( c.VolumeId)) as volumns,COUNT(distinct(d.SerialNo)) documents from dbo.TCase_WordInfo a inner join dbo.TCase_BaseInfo b on a.CSerialNo=b.CSerialNo left join TCase_VolumeInfo c on a.CSerialNo = c.CSerialNo left join TCase_DocumentInfo d on c.VolumeId=d.VolumeId left join (select DataId,Data from dbo.TDictionary_BaseData where Id = "CAIS_02_001") e on b.KeepingTermId=e.DataId'
if(@StartCaseYear is not null and @StartCaseYear <> '' and @EndCaseYear is not null and @EndCaseYear <> '' )
set @Where = @Where + ' a.CaseYear > ' + @StartCaseYear + ' a.CaseYear < ' + @EndCaseYear
if(@DataId is not null and @DataId <> '')
set @Where = @Where + ' e.@DataId =' + @DataId
if(@Undertaker is not null and @Undertaker <> '')
set @Where = @Where + ' a.@@Undertaker =' + @Undertaker

set @Sql = @Sql + @Where
set @Sql = @Sql + ' group by a.CaseYear,e.Data '

end

4.多表连接查询及多列转一列

select * from(

select a.id as LrId,b.CSerialNo,c.[WordName] + '【' + CAST(c.[CaseYear] AS NVARCHAR(MAX)) + '】' + '第' + d.[YCaseNo] + '号' AS[FullYCaseNo],d.Litigant2,d.LawyerUnit,a.BorrowPerson,a.BorrowDate,a.CDNums,a.RegisterPerson,a.RegisterDate,a.AddMaterialName,a.AddLocation,a.PageNum,a.Remark,e.VolumesCount,e.VolumeCaptions,ROW_NUMBER() OVER(ORDER BY a.Id) AS RowIndex from TCase_LendRegist a
inner join TCase_LendRegistMapWordInfo b on a.Id = b.LRId
inner join TCase_WordInfo c on b.CSerialNo = c.CSerialNo
inner join TCase_DetailInfo d on b.CSerialNo = d.CSerialNo
left join(
select LRId,count(*) as VolumesCount,VolumeCaptions = (stuff((select ',' + VolumeCaption from TCase_LendRegistMapVolumeInfo where LRId = g.LRId for xml path('')),1,1,'')) from TCase_LendRegistMapVolumeInfo g group by LRId
)e on a.Id=e.LRId
)T

SqlServer常用语句整理的更多相关文章

  1. SqlServer常用语句

    首先,写这个的原因是我其实sql语句不太行,总觉得自己写得很乱,好像也没有系统学习过,借此复习和与大家探讨 No.1 关于查询时间区间是否重叠的sql语句 问题是这样:插入之前,想查询同User是否其 ...

  2. Mysql常用语句整理

    把工作常用的mysql命令整理一下,省的用的时候在到处找 1.常用命令 1.1 登录 mysql -u root -p 1.2 生成随机数 若在 i<=R<=j 范围内生成随机数 FLOO ...

  3. SQL常用语句整理

    有次笔试最后一页的三个数据库连接查询,没有写出来,被考官暗讽了下.现在想来,实习初,确实很LOW.现公司刚入职的时候,负责过ETL方面,所以和数据库打了不少交道,五十行的联合查询.上百行的存储过程很常 ...

  4. SqlServer常用语句参考

    1.SQL SERVER中如何使用SQL 语句复制表结构: select * into 新表 from 旧表 where 1=2 把“旧表”的表结构复制到“新表”,1=2不复制数据,如果要复制数据,就 ...

  5. SQLSERVER常用脚本整理

    数据库存储空间查询(数据库的大小及数据库中各个表的数据量和每行记录大小) IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = Object_i ...

  6. sqlserver 常用语句

    1.查询表中的RID RID=RowID=(fileID:pageID:slotID) SELECT sys.fn_PhysLocFormatter(%%physloc%%) AS rid,* FRO ...

  7. C#学习笔记(4)——sqlserver常用语句

    说明(2017-5-26 17:29:05): 需要天天练习: 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] ...

  8. SqlServer 常用语句方法

    批量生成删表语句 select 'drop table '+b.name+'.'+a.name+';' from sys.tables a left join sys.schemas b on a.s ...

  9. mysql copy表或表数据常用的语句整理汇总

    mysql copy表或表数据常用的语句整理汇总. 假如我们有以下这样一个表: id username password ----------------------------------- 1 a ...

随机推荐

  1. 重新整理 .net core 实践篇————依赖注入应用之生命法则[三]

    前言 该章演示依赖注入中,对象的释放行为. 紧接上文表示,演示: services.AddSingleton<IMySingletonService, MySingletonService> ...

  2. 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续更新)

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<Matlab使用案例> 3. 专栏目录 [MATLAB统计分析与应用1 ...

  3. Linux(CentOS7)下rpm安装MySQL8.0.16

    记录一下自己在 CentOS7 下 rpm 安装 MySQL8.0.16 的过程. 一.准备工作 1. 下载MySQL所需要的安装包 从 MySQL官网 下载,上传至 CentOS 系统 /usr/l ...

  4. 关于Linux的一些基础命令

    今天学习scala语言,在linux系统上运行,发现对Linux的命令不太熟悉,为了熟悉掌握,也便于查询,这些命令主要是为了收藏备用,,希望能帮助到大家 linux20个常用命令是: 1.显示日期的指 ...

  5. libevent中的bufferevent原理

    以前的文章看过缓冲区buffer了,libevent用bufferevent来负责管理缓冲区与buffer读写事件.       今天就带大家看下evbuffer.c,使用bufferevent处理事 ...

  6. 我眼中的WebViewJavascriptBridge(图解)

    工作中涉及到一段时间iOS开发,在开发中有个小小的框架让我非常深刻,就是WebViewJavascriptBridge,用于原生控件与前端交互通信.我觉得WebViewJavascriptBridge ...

  7. python解析ua

    一个非常神奇的包可以帮助我们优雅的解析浏览器的UA,他的名字叫做user_agents pip install pyyaml ua-parser user-agents >>>ua_ ...

  8. GO语言复合类型04---映射

    package main import "fmt" /* 映射(map)是键值对(key-value)数据的集合 根据键key可以快速检索值value 键值的类型可以是任意的,ke ...

  9. 机器学习PAI

    机器学习PAI 机器学习PAI(Platform of Artificial Intelligence)是阿里云人工智能平台,提供一站式的机器学习解决方案.本文介绍什么是机器学习PAI. 什么是机器学 ...

  10. DeepLabV3+语义分割实战

    DeepLabV3+语义分割实战 语义分割是计算机视觉的一项重要任务,本文使用Jittor框架实现了DeepLabV3+语义分割模型. DeepLabV3+论文:https://arxiv.org/p ...