FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,
(SELECT NUM, UPD_DATE, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE,'YYYY/MM') =
TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') || '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y,
WHERE X.NUM = Y.NUM 錛?錛?
AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B
WHERE A.NUM = B.NUM
璇存槑錛?- select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 緋誨悕縐?'"&strdepartmentname&"' and 涓撲笟鍚嶇О='"&strprofessionname&"' order by 鎬у埆,鐢熸簮鍦?楂樿冩繪垚緇?br />
SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) AS FRI,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) AS MAR,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) AS APR,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) AS MAY,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) AS JUL,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) AS AGU,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) AS OCT,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) AS NOV,
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) AS DEC
FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration
FROM TELFEESTAND a, TELFEE b
WHERE a.tel = b.telfax) a
GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy')
璇存槑錛氬洓琛ㄨ仈鏌ラ棶棰?br />select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
璇存槑錛氬緱鍒拌〃涓渶灝忕殑鏈嬌鐢ㄧ殑ID鍙?br />
SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1) THEN MIN(HandleID) + 1 ELSE 1 END) as HandleID FROM Handle WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)
涓涓猄QL璇彞鐨勯棶棰?琛屽垪杞崲 select * from v_temp 涓婇潰鐨勮鍥劇粨鏋滃涓? user_name role_name ------------------------- 緋葷粺綆$悊鍛?綆$悊鍛? feng 綆$悊鍛? feng 涓鑸敤鎴? test 涓鑸敤鎴? 鎯蟲妸緇撴灉鍙樻垚榪欐牱: user_name role_name --------------------------- 緋葷粺綆$悊鍛?綆$悊鍛? feng 綆$悊鍛?涓鑸敤鎴? test 涓鑸敤鎴?br />=================== create table a_test(name varchar(20),role2 varchar(20)) insert into a_test values('鏉?,'綆$悊鍛?) insert into a_test values('寮?,'綆$悊鍛?) insert into a_test values('寮?,'涓鑸敤鎴?) insert into a_test values('甯?,'涓鑸敤鎴?)
create function join_str(@content varchar(100)) returns varchar(2000) as begin declare @str varchar(2000) set @str='' select @str=@str+','+rtrim(role2) from a_test where [name]=@content select @str=right(@str,len(@str)-1) return @str end go
--璋冪敤錛?br />select [name],dbo.join_str([name]) role2 from a_test group by [name]
--select distinct name,dbo.uf_test(name) from a_test
蹇熸瘮杈冪粨鏋勭浉鍚岀殑涓よ〃 緇撴瀯鐩稿悓鐨勪袱琛紝涓琛ㄦ湁璁板綍3涓囨潯宸﹀彸錛屼竴琛ㄦ湁璁板綍2涓囨潯宸﹀彸錛屾垜鎬庢牱蹇熸煡鎵句袱琛ㄧ殑涓嶅悓璁板綍錛?br />============================ 緇欎綘涓涓祴璇曟柟娉曪紝浠巒orthwind涓殑orders琛ㄥ彇鏁版嵁銆?br />select * into n1 from orders select * into n2 from orders
select OrderID from (select * from n1 union select * from n2) a group by OrderID having count(*) > 1
搴旇鍙互錛岃屼笖灝嗕笉鍚岀殑璁板綍鐨処D鏄劇ず鍑烘潵銆?br />涓嬮潰鐨勯傜敤浜庡弻鏂硅褰曚竴鏍風殑鎯呭喌錛?br /> select * from n1 where orderid in (select OrderID from (select * from n1 union select * from n2) a group by OrderID having count(*) > 1) 鑷充簬鍙屾柟浜掍笉瀛樺湪鐨勮褰曟槸姣旇緝濂藉鐞嗙殑 --鍒犻櫎n1,n2涓嫢騫叉潯璁板綍 delete from n1 where orderID in ('10728','10730') delete from n2 where orderID in ('11000','11001')
--************************************************************* -- 鍙屾柟閮芥湁璇ヨ褰曞嵈涓嶅畬鍏ㄧ浉鍚?br />select * from n1 where orderid in(select OrderID from (select * from n1 union select * from n2) a group by OrderID having count(*) > 1) union --n2涓瓨鍦ㄤ絾鍦╪1涓笉瀛樼殑鍦?0728,10730 select * from n1 where OrderID not in (select OrderID from n2) union --n1涓瓨鍦ㄤ絾鍦╪2涓笉瀛樼殑鍦?1000,11001 select * from n2 where OrderID not in (select OrderID from n1)
鍥涚鏂規硶鍙栬〃閲宯鍒癿鏉$邯褰曪細
1. select top m * into 涓存椂琛?鎴栬〃鍙橀噺) from tablename order by columnname -- 灝唗op m絎旀彃鍏?br />set rowcount n select * from 琛ㄥ彉閲?order by columnname desc
2. select top n * from (select top m * from tablename order by columnname) a order by columnname desc
3.濡傛灉tablename閲屾病鏈夊叾浠杋dentity鍒楋紝閭d箞錛?br />select identity(int) id0,* into #temp from tablename
鍙杗鍒癿鏉$殑璇彞涓猴細 select * from #temp where id0 >=n and id0 <= m
濡傛灉浣犲湪鎵цselect identity(int) id0,* into #temp from tablename榪欐潯璇彞鐨勬椂鍊欐姤閿?閭f槸鍥犱負浣犵殑DB涓棿鐨剆elect into/bulkcopy灞炴ф病鏈夋墦寮瑕佸厛鎵ц錛?br />exec sp_dboption 浣犵殑DB鍚嶅瓧,'select into/bulkcopy',true
4.濡傛灉琛ㄩ噷鏈塱dentity灞炴э紝閭d箞綆鍗曪細 select * from tablename where identitycol between n and m
insert into a_dist values(1,'abc') insert into a_dist values(1,'abc') insert into a_dist values(1,'abc') insert into a_dist values(1,'abc')
exec up_distinct 'a_dist','id'
select * from a_dist
create procedure up_distinct(@t_name varchar(30),@f_key varchar(30)) --f_key琛ㄧず鏄垎緇勫瓧孌碉箰鍗充富閿瓧孌?br />as begin declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1' exec(@sql) open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key if @type=56 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id if @type=167 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +'''' exec(@sql) fetch cur_rows into @id,@max end close cur_rows deallocate cur_rows set rowcount 0 end
select * from systypes select * from syscolumns where id = object_id('a_dist')
insert into hard values ('A','1',3) insert into hard values ('A','2',4) insert into hard values ('A','4',2) insert into hard values ('A','6',9) insert into hard values ('B','1',4) insert into hard values ('B','2',5) insert into hard values ('B','3',6) insert into hard values ('C','3',4) insert into hard values ('C','6',7) insert into hard values ('C','2',3)
瑕佹眰鏌ヨ鍑烘潵鐨勭粨鏋滃涓嬶細
qu co je ----------- ----------- ----- A 6 9 A 2 4 B 3 6 B 2 5 C 6 7 C 3 4
灝辨槸瑕佹寜qu鍒嗙粍錛屾瘡緇勪腑鍙杍e鏈澶х殑鍓?浣嶏紒錛?br />鑰屼笖鍙兘鐢ㄤ竴鍙ql璇彞錛侊紒錛?br />select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je)
姹傚垹闄ら噸澶嶈褰曠殑sql璇彞錛? 鎬庢牱鎶婂叿鏈夌浉鍚屽瓧孌電殑綰綍鍒犻櫎錛屽彧鐣欎笅涓鏉°?br />渚嬪錛岃〃test閲屾湁id,name瀛楁 濡傛灉鏈塶ame鐩稿悓鐨勮褰?鍙暀涓嬩竴鏉★紝鍏朵綑鐨勫垹闄ゃ?br />name鐨勫唴瀹逛笉瀹氾紝鐩稿悓鐨勮褰曟暟涓嶅畾銆?br />鏈夋病鏈夎繖鏍風殑sql璇彞錛?br />============================== A:涓涓畬鏁寸殑瑙e喅鏂規錛?br /> 灝嗛噸澶嶇殑璁板綍璁板叆temp1琛? select [鏍囧織瀛楁id],count(*) into temp1 from [琛ㄥ悕] group by [鏍囧織瀛楁id] having count(*)>1
2銆佸皢涓嶉噸澶嶇殑璁板綍璁板叆temp1琛? insert temp1 select [鏍囧織瀛楁id],count(*) from [琛ㄥ悕] group by [鏍囧織瀛楁id] having count(*)=1
3銆佷綔涓涓寘鍚墍鏈変笉閲嶅璁板綍鐨勮〃錛?br />select * into temp2 from [琛ㄥ悕] where 鏍囧織瀛楁id in(select 鏍囧織瀛楁id from temp1)
4銆佸垹闄ら噸澶嶈〃: delete [琛ㄥ悕]
5銆佹仮澶嶈〃錛?br />insert [琛ㄥ悕] select * from temp2
6銆佸垹闄や復鏃惰〃: drop table temp1 drop table temp2 ================================ B: create table a_dist(id int,name varchar(20))
insert into a_dist values(1,'abc') insert into a_dist values(1,'abc') insert into a_dist values(1,'abc') insert into a_dist values(1,'abc')
exec up_distinct 'a_dist','id'
select * from a_dist
create procedure up_distinct(@t_name varchar(30),@f_key varchar(30)) --f_key琛ㄧず鏄垎緇勫瓧孌碉箰鍗充富閿瓧孌?br />as begin declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1' exec(@sql) open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key if @type=56 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id if @type=167 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +'''' exec(@sql) fetch cur_rows into @id,@max end close cur_rows deallocate cur_rows set rowcount 0 end
select * from systypes select * from syscolumns where id = object_id('a_dist')
declare @sql varchar(4000) set @sql = 'select Name' select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']' from (select distinct Subject from CJ) as a select @sql = @sql+' from test group by name' exec(@sql)
鍒涘緩涓涓悎騫剁殑鍑芥暟 create function fmerg(@id int) returns varchar(8000) as begin declare @str varchar(8000) set @str='' select @str=@str+','+cast(pid as varchar) from 琛ˋ where id=@id set @str=right(@str,len(@str)-1) return(@str) End go
--璋冪敤鑷畾涔夊嚱鏁板緱鍒扮粨鏋? select distinct id,dbo.fmerg(id) from 琛ˋ
濡備綍鍙栧緱涓涓暟鎹〃鐨勬墍鏈夊垪鍚?
鏂規硶濡備笅錛氬厛浠嶴YSTEMOBJECT緋葷粺琛ㄤ腑鍙栧緱鏁版嵁琛ㄧ殑SYSTEMID,鐒跺悗鍐峉YSCOLUMN琛ㄤ腑鍙栧緱璇ユ暟鎹〃鐨勬墍鏈夊垪鍚嶃? SQL璇彞濡備笅錛? declare @objid int,@objname char(40) set @objname = 'tablename' select @objid = id from sysobjects where id = object_id(@objname) select 'Column_name' = name from syscolumns where id = @objid order by colid
鎴?br /> SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='users'
閫氳繃SQL璇彞鏉ユ洿鏀圭敤鎴風殑瀵嗙爜
淇敼鍒漢鐨?闇瑕乻ysadmin role EXEC sp_password NULL, 'newpassword', 'User'
濡傛灉甯愬彿涓篠A鎵цEXEC sp_password NULL, 'newpassword', sa
鎬庝箞鍒ゆ柇鍑轟竴涓〃鐨勫摢浜涘瓧孌典笉鍏佽涓虹┖錛?
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where IS_NULLABLE='NO' and TABLE_NAME=tablename
濡備綍鍦ㄦ暟鎹簱閲屾壘鍒板惈鏈夌浉鍚屽瓧孌電殑琛紵 a. 鏌ュ凡鐭ュ垪鍚嶇殑鎯呭喌 SELECT b.name as TableName,a.name as columnname From syscolumns a INNER JOIN sysobjects b ON a.id=b.id AND b.type='U' AND a.name='浣犵殑瀛楁鍚嶅瓧'
鏈煡鍒楀悕鏌ユ墍鏈夊湪涓嶅悓琛ㄥ嚭鐜拌繃鐨勫垪鍚? Select o.name As tablename,s1.name As columnname From syscolumns s1, sysobjects o Where s1.id = o.id And o.type = 'U' And Exists ( Select 1 From syscolumns s2 Where s1.name = s2.name And s1.id <> s2.id )
鏌ヨ絎瑇xx琛屾暟鎹?
鍋囪id鏄富閿細 select * from (select top xxx * from yourtable) aa where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)
濡傛灉浣跨敤娓告爣涔熸槸鍙互鐨? fetch absolute [number] from [cursor_name] 琛屾暟涓虹粷瀵硅鏁?
SQL Server鏃ユ湡璁$畻 a. 涓涓湀鐨勭涓澶? SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) b. 鏈懆鐨勬槦鏈熶竴 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) c. 涓騫寸殑絎竴澶? SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) d. 瀛e害鐨勭涓澶? SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) e. 涓婁釜鏈堢殑鏈鍚庝竴澶? SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)) f. 鍘誨勾鐨勬渶鍚庝竴澶? SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)) g. 鏈湀鐨勬渶鍚庝竴澶? SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) h. 鏈湀鐨勭涓涓槦鏈熶竴 select DATEADD(wk, DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate()) ), 0) i. 鏈勾鐨勬渶鍚庝竴澶? SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))銆?
鑾峰彇琛ㄧ粨鏋刐鎶?'sysobjects' 鏇挎崲 鎴?'tablename' 鍗沖彲]
SELECT CASE IsNull(I.name, '') When '' Then '' Else '*' End as IsPK, Object_Name(A.id) as t_name, A.name as c_name, IsNull(SubString(M.text, 1, 254), '') as pbc_init, T.name as F_DataType, CASE IsNull(TYPEPROPERTY(T.name, 'Scale'), '') WHEN '' Then Cast(A.prec as varchar) ELSE Cast(A.prec as varchar) + ',' + Cast(A.scale as varchar) END as F_Scale, A.isnullable as F_isNullAble FROM Syscolumns as A JOIN Systypes as T ON (A.xType = T.xUserType AND A.Id = Object_id('sysobjects') ) LEFT JOIN ( SysIndexes as I JOIN Syscolumns as A1 ON ( I.id = A1.id and A1.id = object_id('sysobjects') and (I.status & 0x800) = 0x800 AND A1.colid <= I.keycnt) ) ON ( A.id = I.id AND A.name = index_col('sysobjects', I.indid, A1.colid) ) LEFT JOIN SysComments as M ON ( M.id = A.cdefault and ObjectProperty(A.cdefault, 'IsConstraint') = 1 ) ORDER BY A.Colid ASC
鎻愬彇鏁版嵁搴撳唴鎵鏈夎〃鐨勫瓧孌佃緇嗚鏄庣殑SQL璇彞
SELECT (case when a.colorder=1 then d.name else '' end) N'琛ㄥ悕', a.colorder N'瀛楁搴忓彿', a.name N'瀛楁鍚?, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '鈭?else '' end) N'鏍囪瘑', (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM sysindexes WHERE (id = a.id) AND (indid in (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid in (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name))))))) AND (xtype = 'PK'))>0 then '鈭? else '' end) N'涓婚敭', b.name N'綾誨瀷', a.length N'鍗犵敤瀛楄妭鏁?, COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'闀垮害', isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'灝忔暟浣嶆暟', (case when a.isnullable=1 then '鈭?else '' end) N'鍏佽絀?, isnull(e.text,'') N'榛樿鍊?, isnull(g.[value],'') AS N'瀛楁璇存槑' FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id left join sysproperties g on a.id=g.id AND a.colid = g.smallid order by object_name(a.id),a.colorder
蹇熻幏鍙栬〃test鐨勮褰曟繪暟[瀵瑰ぇ瀹歸噺琛ㄩ潪甯告湁鏁圿
蹇熻幏鍙栬〃test鐨勮褰曟繪暟: select rows from sysindexes where id = object_id('test') and indid in (0,1)
update 2 set KHXH=(ID+1)\2 2琛岄掑緙栧彿 update [23] set id1 = 'No.'+right('00000000'+id,6) where id not like 'No%' //閫掑 update [23] set id1= 'No.'+right('00000000'+replace(id1,'No.',''),6) //琛ヤ綅閫掑 delete from [1] where (id%2)=1 濂囨暟
鏇挎崲琛ㄥ悕瀛楁 update [1] set domurl = replace(domurl,'Upload/Imgswf/','Upload/Photo/') where domurl like '%Upload/Imgswf/%'