Sql Server 语句

时间:2023-03-08 16:35:12

##目录

#####清除缓存

	DBCC FREEPROCCACHE;
DBCC DROPCLEANBUFFERS;

  

SELECT  stock.IdStock, stock.Descr
FROM [Inventory].[dbo].[Stock] stock
WHERE stock.IdStock NOT IN
(SELECT foreignStockId FROM
[Subset].[dbo].[Products])

#####如何获取当月统计总数

SELECT sum(Column) FROM Table where datediff(m,[datetime],getdate())=0

* Column、Table、datetime 根据自身情况修改

3)SqlServer多表更新

UPDATE Table1
SET Table1.c2 =Table2.c3
from Table1,Table2
where Table1.c1=Table2.c1 UPDATE Table1
SET Table1.c2 =Table2.c3
from Table1 inner join Table2 on Table1.c1=Table2.c1

4)行转列:SQL SERVER PIVOT与用法解释(转)

http://www.cnblogs.com/qixuejia/p/3457985.html

5)SqlServer如何删除重复数据

最近一直在做数据处理的工作,简单说来就是要把数据从一个数据库搬到另一个数据库

在搬数据的过程中会经常发现有的数据有重复,对数据的过滤机制不严谨。于是只好自己重新在数据库里将重复数据删除掉

比如我们有一个评论表,表里面有 ID, Title, Content 字段。创建表

CRAETE TABLE Comment(ID INT IDENTITY(1,1), Ttitle NVARCHAR(300) NOT NULL, Content NVARCHAR(4000) NOT NULL)

--测试数据
INSERT INTO Comment SELECT '', '第一次在淘宝网购这么贵的东西之前都是在天猫买贵的,序列号也验证了确实是未开封和未激活就是手机的信号不好售后说是新机器是这样的先使用一段时间在看吧,总体我还是很满意 ', 0, 0, 0, getdate(), getdate(), getdate(), 0 SELECT '', '第一次在淘宝网购这么贵的东西之前都是在天猫买贵的,序列号也验证了确实是未开封和未激活就是手机的信号不好售后说是新机器是这样的先使用一段时间在看吧,总体我还是很满意 ', 0, 0, 0, getdate(), getdate(), getdate(), 0 SELECT '', '第一次在淘宝网购这么贵的东西之前都是在天猫买贵的,序列号也验证了确实是未开封和未激活就是手机的信号不好售后说是新机器是这样的先使用一段时间在看吧,总体我还是很满意 ', 0, 0, 0, getdate(), getdate(), getdate(), 0 SELECT '', '第一次在淘宝网购这么贵的东西之前都是在天猫买贵的,序列号也验证了确实是未开封和未激活就是手机的信号不好售后说是新机器是这样的先使用一段时间在看吧,总体我还是很满意 ', 0, 0, 0, getdate(), getdate(), getdate(), 0 UNION SELECT '', '质量真是差用了个星期就坏了真是后悔死了真的不应该写好评应该写个差评质量这么差的手机', 0, 0, 0, getdate(), getdate(), getdate(), 0 UNION SELECT '', '质量真是差用了个星期就坏了真是后悔死了真的不应该写好评应该写个差评质量这么差的手机', 0, 0, 0, getdate(), getdate(), getdate(), 0 UNION SELECT '', '颜色很喜欢,没色差,做工也不错,面料很舒服。性价比很高,很修身,下次还会光顾!', 0, 0, 0, getdate(), getdate(), getdate(), 0

首先我们查询下有哪些重复的数据

select Content, count(1) from Comment group by Content having count(1)>1

接下来我们开始删除重复数据

删除重得的数据,主要是查找到重复数据的内容及其最小的那条数据的ID,这样我们就可以将重复数据的除最小ID的那条数据删除

DELETE Comment from Comment a,
(
select min(ID) ID, content from Comment group by Content having count(1)>1
) as T ON a.Content=T.Content AND a.ID>T.ID

6)

select * from Table_LabelExpand aa where NOT EXISTS
(
SELECT a.* from Table_LabelExpand a JOIN Table_LabExpDetail b ON a.LEId=b.LEId
where aa.LEId=a.LEId
)