自己用的SQL语句

--1查询所有姓名重复的字段

select *  FROM 

WHERE  字段 in( select 字段 FROM group by 字段 having count(1)>1)

--例子

SELECT id,xm,xb,zp FROM dbo.Ryxx

WHERE  Xm IN( SELECT xm FROM dbo.Ryxx GROUP  BY Xm HAVING COUNT(1) >1 )

 

--2更新字段

UPDATE dbo.Ryxx SET zp=NULL WHERE xm='王淑娟'

 

--3查询所有照片为空的人员信息,并排序

SELECT dbo.Ryxx.Id,xm,xb,Dw,Zp FROM dbo.Ryxx

JOIN dbo.Dw ON dbo.Ryxx.Gzdw = dbo.Dw.Id

WHERE Zp IS NULL  ORDER BY id ASC

 

--4一个表中不重复的字段值插入另一个新表中,并根据新表中此字段的值对应的ID插入总表中

----查询去掉重复GZDW字段

--SELECT DISTINCT Gzdw FROM dbo.AA

----将去掉重复的列插入单位表中

--INSERT INTO dbo.Dw ( Dw ) SELECT DISTINCT Gzdw FROM dbo.AA

----将单位表中的ID更新到人员信息表

--update dbo.AA set AA.Gzdw = Dw.Id FROM dbo.AA,dbo.Dw where AA.Gzdw=Dw.Dw

 

--5联合查询生成工资信息表,要求显示工资停发信息表中ID最大,即最后录入的那条信息

 

SELECT ROW_NUMBER() OVER (ORDER BY dbo.Ryxx.Id ASC) AS id,Xm,Xb,Sfzh,Gzzh,Gzje,Tfsj,Tfyy,Bfsj,Bfyy FROM dbo.Ryxx

                        LEFT JOIN dbo.Gzxx ON dbo.Gzxx.Yid = dbo.Ryxx.Id

                        --下句意思是连接工资信息表,并且只连接ID最大的一条记录

                        AND dbo.Gzxx.Id IN (Select max(id) FROM dbo.Gzxx group by Yid

                        WHERE ryzt=1)

 

 

posted @ 2014-03-19 13:22  thxjcy  阅读(253)  评论(0编辑  收藏  举报