SqlServer常用语句整理

先记录下来 以后整理

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

 

5.SqlServer建库建表

复制代码
 1 IF EXISTS (SELECT * FROM sysobjects WHERE name='CRM_LineCompanyConfig' )
 2 DROP TABLE CRM_LineCompanyConfig
 3 create table CRM_LineCompanyConfig(
 4 Id int not null identity(1,1) primary key , --Id
 5 ScheduleManagement int, --工期管理 0关闭 1开启
 6 DesignSquareMeterByDay int, --每天设计多少平米
 7 ProtocolAudit int,  --协议免审核
 8 AuditDiscountLower decimal(18,2), --免审折扣下限
 9 AuditDiscountUpper decimal(18,2), --免审折扣上限
10 CompanyCode int,  --公司编码 适用范围
11 CompanyName varchar(100),  --公司名
12 CreateName varchar(100),  --创建人
13 CreateAccount varchar(50),  --创建账号
14 CreateTime datetime --创建时间
15 )
16 GO
17 EXEC sp_addextendedproperty N'MS_Description', N'公司配置表', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig';
18 GO
19 EXEC sp_addextendedproperty N'MS_Description', N'id主键自增长', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'id';
20 GO
21 EXEC sp_addextendedproperty N'MS_Description', N'工期管理', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'ScheduleManagement';
22 GO
23 EXEC sp_addextendedproperty N'MS_Description', N'每天设计多少平米', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'DesignSquareMeterByDay';
24 GO
25 EXEC sp_addextendedproperty N'MS_Description', N'协议免审核', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'ProtocolAudit';
26 GO
27 EXEC sp_addextendedproperty N'MS_Description', N'免审折扣下限', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'AuditDiscountLower';
28 GO
29 EXEC sp_addextendedproperty N'MS_Description', N'免审折扣上限', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'AuditDiscountUpper';
30 GO
31 EXEC sp_addextendedproperty N'MS_Description', N'适用范围(公司编码)', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'CompanyCode';
32 GO
33 EXEC sp_addextendedproperty N'MS_Description', N'公司名', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'CompanyName';
34 GO
35 EXEC sp_addextendedproperty N'MS_Description', N'创建人', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'CreateName';
36 GO
37 EXEC sp_addextendedproperty N'MS_Description', N'创建账号', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'CreateAccount';
38 GO
39 EXEC sp_addextendedproperty N'MS_Description', N'创建时间', N'SCHEMA', N'dbo',N'TABLE', N'CRM_LineCompanyConfig', N'COLUMN', N'CreateTime';
40 GO
41 ALTER TABLE JZDATA..CRM_LineCompanyConfig ADD  DEFAULT (0) FOR [ScheduleManagement]
42 GO
43 ALTER TABLE JZDATA..CRM_LineCompanyConfig ADD  DEFAULT (0) FOR [DesignSquareMeterByDay]
44 GO
45 ALTER TABLE JZDATA..CRM_LineCompanyConfig ADD  DEFAULT (0) FOR [ProtocolAudit]
46 GO
47 ALTER TABLE JZDATA..CRM_LineCompanyConfig ADD  DEFAULT (0) FOR [AuditDiscountLower]
48 GO
49 ALTER TABLE JZDATA..CRM_LineCompanyConfig ADD  DEFAULT (0) FOR [AuditDiscountUpper]
View Code
复制代码

 

posted @   peng_boke  阅读(387)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示