先记录下来 以后整理

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. 大对象数据LOB的应用

    概述 由于无结构的数据往往都是大型的,存储量特别大,而LOB(large object)类型主要用来支持无结构的大型数据. 用户可以利用LOB数据类型来存储大型的无结构数据,特别是文本,图形,视频和音 ...

  2. 【补档_STM32单片机】脉搏波采集显示硬件设计

    一.脉搏波简介 ​ 脉搏一般情况下指的都是动脉脉搏.每分钟的脉搏次数称为脉率,正常情况下与心率是一致的.心脏的一次收缩和舒张成为一个心动周期.在每个心动周期内,心室的收缩和舒张会引起脉内压力的周期性波 ...

  3. python3操作Kafka

    # -- coding: UTF-8 import datetime import json import time from kafka import KafkaProducer producer= ...

  4. Fiddler抓包后转成jmeter脚本

    Fiddler的安装及使用 1.安装:无特别需要注意事项 2.使用: (1)目前我使用的是Fiddler 4版本,打开页面如下 (2)如下图,在界面右侧找到Filters tabs,根据需要进行设置, ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. Flink实时计算pv、uv的几种方法

    本文首发于:Java大数据与数据仓库,Flink实时计算pv.uv的几种方法 实时统计pv.uv是再常见不过的大数据统计需求了,前面出过一篇SparkStreaming实时统计pv,uv的案例,这里用 ...

  7. 计算机网络-vlan划分

    1.VLAN的划分 (1)基于端口的VLAN: 交换机A上的1,2端口和交换机B上的3,4端口构成一个VLAN. 交换机A上的3,4端口和交换机B上的1,2端口构成一个VLAN. (2)基于MAC地址 ...

  8. Hive窗口函数保姆级教程

    在SQL中有一类函数叫做聚合函数,例如sum().avg().max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的.但是有时我们想要既显示聚集前的数据, ...

  9. Appium UI自动化测试

    #coding:utf-8 from appium import webdriver import time,traceback ''' desired_capabilities:这些键告诉appiu ...

  10. 一张图理清计算机常见编码的关系。ASCII、Unicode都不是事儿

    编码按适用范围可以简单分为:(本人自定义) 美国编码(ASCII)ASCII为基础编码,来源于美国:其它编码都兼容ASCII编码: 欧盟编码(ISO8859-1.WINDOWS-1252)先是ISO- ...