常用暴强的一些SQL语句

上一篇 / 下一篇  2006-11-27 23:49:32

说明:复制表(只复制结构,源表名:a 新表名:bPHPChina 开源社区门户KsBGM&eg
M s.Q%H%M/S9Uq0
select into b from a where 1<>
1PHPChina 开源社区门户7o!`d({ H3z Q(]
:\'[m:{2ZhH:{0PHPChina 开源社区门户 [_.nb9I8G
yV$Fz.QU"o0M0
o*[ElXx02E_M^![)dP9dm0说明:拷贝表
(拷贝数据,源表名:a 目标表名:b
)PHPChina 开源社区门户dqJ5X,I%V)CPHPChina 开源社区门户.^S:D1MB Kd u#LIpe
insert into b(abcselect d,e,f from b
;PHPChina 开源社区门户^ YK9\ Hx
,o^5I5QI}.xz'S&\0PHPChina 开源社区门户Q of:B(_0BS
(WX v/o:S:Z5Y0PHPChina 开源社区门户sL7[Rt2z'Hd(BG,V'x&u
v| yl#a0j\0
说明:显示文章、提交人和最后回复时间PHPChina 开源社区门户i;~nK9el
+M q+j w4T/K$G|Q^ IS0select a
.title,a.username,b.adddate from table a,(select max(adddateadddate from table where table.title=a.title
b
YT/n ]{8?/W*wa0TKQ&cV2i0PHPChina 开源社区门户Fcs*Dr1A6H Wx
/k-@ tP4n]\0PHPChina 开源社区门户(g*SvhBW
iY*{(w:^^{b0说明:外连接查询
(表名1:a 表名2:b
)PHPChina 开源社区门户HOr| fV6L\D;wx
.Rj,` m:c$~O0
select a.aa.ba.cb.cb.db.f from a LEFT OUT JOIN b ON a.b.
c
5AB@*N3{j.`6?06NH%D#V$e4LCZ*}0PHPChina 开源社区门户iK s w)OL ^
)I j)BG}Fp0PHPChina 开源社区门户:J6x8p,Ql'eCY
p5Z8G:hlw0说明:日程安排提前五分钟提醒PHPChina 开源社区门户2fh&`.Y3UPHPChina 开源社区门户mt s|*d8w Xu
select 
from 日程安排 where datediff('minute',f开始时间,getdate())>
5
he/y%k,\Hpw_-d0vG4U V6q3rU0PHPChina 开源社区门户.?Duu;Z
Jo6f$mq(~(c0PHPChina 开源社区门户eH#cJL
E8}a"]o n0说明:两张关联表,删除主表中已经在副表中没有的信息PHPChina 开源社区门户f6Z(}*h [y g
O&cd`sr0delete from info where not exists 
select from infobz where info.infid=infobz.infid 
)PHPChina 开源社区门户FDC.p7T(]V
@0Rm%~u0PHPChina 开源社区门户1B x5[5{~.C
%^8F&t'a*f0
9g(q-y%FRU#i0R,QDg)GF0
说明:
-- 
gE-Q:L$j0u'|'NH6y!dmk0
? }8v$E3L:I+gS F04l)n7L2IA0
SQL
PHPChina 开源社区门户:w"yyGu_-fwPHPChina 开源社区门户]"_8r8\(c5^
PHPChina 开源社区门户K$@jri w B,we F|
0|:ttc'bW0
Select A.NUMA.NAMEB.UPD_DATEB.
PREV_UPD_DATE PHPChina 开源社区门户/|6a ju&P[/^PHPChina 开源社区门户6gEQ*}x(g
PHPChina 开源社区门户"C\q,p2[,n
t B0a8G2M$Pk0FROM TABLE1
PHPChina 开源社区门户7hJu9XC
kj ubD[y0PHPChina 开源社区门户!@t(O7W2j%C+n+y8APHPChina 开源社区门户tX-i;JoD
(
Select X.NUMX.UPD_DATEY.
UPD_DATE PREV_UPD_DATE 
S6R1?1a _lP9Q0E5C'c%?xP/L#l Q5K0PHPChina 开源社区门户x3_!K*erw2R
*N^ ?#C0w0FROM 
(Select NUMUPD_DATEINBOUND_QTY
STOCK_ONHAND PHPChina 开源社区门户q ]aa(GXE{PHPChina 开源社区门户t-nK+B0ag9V;jN v
PHPChina 开源社区门户6`0Jc^l4`(? g
.U(RKz)g4o0FROM TABLE2 PHPChina 开源社区门户 rW}*o~DPHPChina 开源社区门户1UJ$l my;T]};a
PHPChina 开源社区门户VR3w*B {]
V2[,cu1K0Where TO_CHAR
(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE'YYYY/MM')) X
PHPChina 开源社区门户0px9c t? |h
^Z+iu.e*f+p%K"Q0
lx9pF H} ?i0X#[v,^ zB/V0(
Select NUMUPD_DATE
STOCK_ONHAND PHPChina 开源社区门户)L~D&N4t3d9j}tPHPChina 开源社区门户5w\5E*I+Ki#m
PHPChina 开源社区门户 Bz;kuOPHPChina 开源社区门户!LA7M-O XQn} E
FROM TABLE2 PHPChina 开源社区门户4th*j+\;d%r
g:E'zvZBNRa0
y H'VVKe0Hut)h:L%NN@0Where TO_CHAR
(UPD_DATE,'YYYY/MM'
) = PHPChina 开源社区门户5o$Q ^Bp,y!a
&Z'Hv)z6^wf F0
x&u p ~ fcXa0`Q,i![o-B0
TO_CHAR(TO_DATE(TO_CHAR(SYSDATE'YYYY/MM') || '/01','YYYY/MM/DD') - 1'YYYY/MM') ) Y
PHPChina 开源社区门户'k2T8l!Sq$A
.H#R D;jR+K0PHPChina 开源社区门户[Y_MH5j*~
(zqsr-v}0
Where X.NUM Y.NUM (+
) 
TX\z6NA,`` O0R"H(@]:wLJ!W|(?0
] Aqa w5C^0a R0A_uv J"o.B0
AND X.INBOUND_QTY NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND 
PHPChina 开源社区门户:v W `#Q9jY
tKa H;I2_4UMgw4G0PHPChina 开源社区门户omh eNDY-ZZ]
"]U&@dT%},@ BK0Where A
.NUM B.
NUMPHPChina 开源社区门户k/D)H-T"Y9v
6i'@2oO9oF4H0V C0PHPChina 开源社区门户W+E.e6cQ7HPHPChina 开源社区门户 um[0X-^.i

f iW7[N7B5^ E8X0x.z@!W(uv*ty@0说明:
-- 
!j;Ho$L6g;IJ.~3h0yX)T+\2N4W3V0
select from studentinfo where not exists(select from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,
高考总成绩PHPChina 开源社区门户Hh^p'z1|*_+G
%`VL!tD C0PHPChina 开源社区门户:q6p'ol'u5`Hk*Oy vp
#S x+hU2|dq!Y s0PHPChina 开源社区门户R+y9}5t4T?E2a+q(Q;SPHPChina 开源社区门户(N x \Ls
数据库中去一年的各单位电话费统计
(电话费定额贺电化肥清单两个表来源) PHPChina 开源社区门户t$P(oN}$Dy
+u.O+T~s `r6u:Z0PHPChina 开源社区门户 v6o4@?[nPHPChina 开源社区门户#w,F+lK6S
Select a
.userpera.tela.standfeeTO_CHAR(a.telfeedate'yyyy') AS telyear
PHPChina 开源社区门户pU#B A)P+u
3r0{*hr(eS@2]5M/__0PHPChina 开源社区门户4xRu)DD0r
,T~f7QIx5{(k-_}0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '01'a.factration)) AS JAN
PHPChina 开源社区门户B$Xok,F([
m;h2?Tg-@8r0PHPChina 开源社区门户_CD6~~F_
7f6w6uo{!L/E&r2x.w0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '02'a.factration)) AS FRI

!N] V"lXz9WeG0"t,{(x"PWcb0PHPChina 开源社区门户xR8c R0b0Q6dS
i!FTd h0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '03'a.factration)) AS MAR

2d Q~ x*juW/d0xl)X!mT` O L2S&K/?0PHPChina 开源社区门户i ]:zCK4i_E*U FEH
!{F-l[,r p0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '04'a.factration)) AS APR
PHPChina 开源社区门户2Iq.Ad`
MQ/Zj^c0{6r-k*S0PHPChina 开源社区门户]2S.Y!SZj\1T
7t cY`Q9Z[A[U0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '05'a.factration)) AS MAY
PHPChina 开源社区门户4b QT3J^
9]j$J5rB*a0PHPChina 开源社区门户(Kh.J-K?,s@G
9Ux-pb}#`;TH0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '06'a.factration)) AS JUE
PHPChina 开源社区门户'P'u ]3k/mAU\3L
c})B ^i-\8v(sS7w+`0
.}h }Lz[,}6c5U9E0(ZT d0V*l0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '07'a.factration)) AS JUL

)C gA o/A,Z;}#R0$U3h,h/Q?a3Fo4S t0PHPChina 开源社区门户fna Q5A;^c
`0~i_+n/zQ&KxrT0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '08'a.factration)) AS AGU
PHPChina 开源社区门户$B)} i0}!G S)o7P&p*{PHPChina 开源社区门户HAl[4|ts
PHPChina 开源社区门户6{fl6o$n?e,Z
k%}g k/vX$[0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '09'a.factration)) AS SEP
PHPChina 开源社区门户'] QX!K9S&DcPHPChina 开源社区门户C#CxF ~;c8Nt1{z

CC(D$W-G S+F"]0ht#^}jz;r0L8`0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '10'a.factration)) AS OCT
PHPChina 开源社区门户a D$p+Is"[0C
t$\je+J0PHPChina 开源社区门户5RaL7p`
r8WT [Z(~s}$Rl0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '11'a.factration)) AS NOV
PHPChina 开源社区门户 r&X&@V%` E D6xPHPChina 开源社区门户lOYYoX
PHPChina 开源社区门户9e`"Lf4S|g`"m
Kia9v+a?q0
SUM(decode(TO_CHAR(a.telfeedate'mm'), '12'a.factration)) AS 
DEC PHPChina 开源社区门户 g&?Q&Ij(O WuPHPChina 开源社区门户?!S@SB)_z"im
PHPChina 开源社区门户d]7a o:~ jgH
J^W#M&\L9g0FROM 
(Select a.userpera.tela.standfeeb.telfeedateb.
factration PHPChina 开源社区门户L`}2Q0j/`?8}UPHPChina 开源社区门户h fUo)j"NYid*VN

$z AG+kZ-S"b0M0Z.S"?V`T8Ni7e#_0FROM TELFEESTAND a
TELFEE b 
.Tb1Mx|b|0-x7M'gNR:i u0PHPChina 开源社区门户5p6V`I_o j.\PHPChina 开源社区门户7pW*q5g;f0C%i
Where a
.tel b.telfax
PHPChina 开源社区门户;@.m$u%d3~ Ko6y5x|O!r
.x:DSX.~6Q)b0PHPChina 开源社区门户9ts.l6~,z1Hb
]!up9uN7ZQ0GROUP BY a
.userpera.tela.standfeeTO_CHAR(a.telfeedate'yyyy'
)
J:D?~/eba0+g!xM j8M"Pr(X0
I;n6q['q$f)sS0m R%cB,v I5w0
e!V-@,TW,^0&|-VI8XPWQ0
说明:四表联查问题PHPChina 开源社区门户 jK#Q}TSPHPChina 开源社区门户JLsW6y8V%X
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 
..... PHPChina 开源社区门户'@.|^J7^:jow0fPHPChina 开源社区门户3Q-EVE_'j
PHPChina 开源社区门户5|K-{ Y%EX'\[MPHPChina 开源社区门户m9@!CL[)IOM
PHPChina 开源社区门户|Ba5n3k T;eqPHPChina 开源社区门户o;ty {+AIv*g1q
说明:得到表中最小的未使用的ID号PHPChina 开源社区门户0M;d&z1TIA@J
+tZ_E*D(]wg;e%T6h0PHPChina 开源社区门户*v\p6VNM|F$D$o
za R8X-}f3y5MW0
%Vwp-wq4pN&y0Kc+t+w@Bt0Select 
(CASE WHEN EXISTS(Select FROM Handle b Where b.HandleID 1THEN MIN(HandleID) + ELSE 1 END) as HandleID  FROM Handle Where NOT HandleID IN (Select a.HandleID 1 FROM Handle a
)PHPChina 开源社区门户Sj/p$eS*`'H,f4`,_PHPChina 开源社区门户^ A"u?\

,w f ^gD1RZP0.U`o#[,A&tT~+w0PHPChina 开源社区门户[r3yq ?f%f
(uJe U'c f!fL0
一个SQL语句的问题:
行列转换
X_U4z$J5f0x'J+v@cq4@0select 
from v_tempPHPChina 开源社区门户'd@HU0A6OA3z7V]
:Aj2?e"o0上面的视图结果如下
:PHPChina 开源社区门户^V7w~%u@r?
A([*\ r`1Z;C`0
user_name role_name
8a8i%O? n/c5f-i!j0x`d:O^$JXU0
-------------------------PHPChina 开源社区门户U*@S`2oZ:e
yb`7D,t8^!ny0
系统管理员 管理员 
9SQ-s2b-DK b(Y0Qk`${7o3G4D0feng 管理员 
:f.C3W1KASdh hP07A~R[-K!u O{0feng 一般用户 PHPChina 开源社区门户4d#~3a1wv#u8E k7LZPHPChina 开源社区门户#m$R D'b w\9Z*?0i
test 一般用户 PHPChina 开源社区门户"R*W&j~6jC
Q!wF.lF l`JN*J0想把结果变成这样
:PHPChina 开源社区门户|#U:Rr ]
7Ug+Ju"D$G0
user_name role_name
!Y.F2t"y!^.D0%QDXLl`0
---------------------------PHPChina 开源社区门户0Xo-d J"f\'N
$? `dHm'?!]0
系统管理员 管理员 PHPChina 开源社区门户+Uq q+sl%Bhc
|e.ZSA d;S9xN0feng 管理员
,
一般用户 PHPChina 开源社区门户-e e!]y4w!Yh
,?)c-p`6T&WEH0test 一般用户PHPChina 开源社区门户p|)AA U8gWO
(~3w }4{"p6C\*D"O3b0
===================PHPChina 开源社区门户TK#~?S'i
cA/^Qes+S$]$c/FJ0
create table a_test(name varchar(20),role2 varchar(20
))PHPChina 开源社区门户)X;[s'WX7An
3k\T!scH~0
insert into a_test values('李','管理员'
)
X|,S Ni!n07\!v l5r#wr0
insert into a_test values('张','管理员'
)PHPChina 开源社区门户%I1Y;]/n4ZS h[!zV M
C6b F k&I l'xrZ9]0
insert into a_test values('张','一般用户'
)PHPChina 开源社区门户m{`P6f)E J/Pa
Ew;i)BoKP1@3@9q0
insert into a_test values('常','一般用户'
)PHPChina 开源社区门户/?ds o.FN R
#zi,t D*@F0PHPChina 开源社区门户j:aXG3?PHPChina 开源社区门户P3K!rL-V
create function join_str(@content varchar(100
))PHPChina 开源社区门户 B-V_7vPRyY m-d
VRD ES~6tPk2hdH0
returns varchar(2000
)PHPChina 开源社区门户/MC ^t%u7H8LzV
3|3N&OzSry1`T0asPHPChina 开源社区门户:Xps1n f.u`%c[/Hh
Cz1g*l+QwG6@O0
begin
z RoR'a WLT C0,t _At&woJDm0
declare @str varchar(2000
)PHPChina 开源社区门户I ls7yf1m
%v'YlE2L{^0
set @str=
''
E vv(c$cO$B_0.P+C5AMG"p0
select @str=@str+','+rtrim(role2from a_test where [name]=@
contentPHPChina 开源社区门户^ V0RMFS
CA!w%`'YPa(X9V0select 
@str=right(@str,len(@str)-1
)PHPChina 开源社区门户z&_!eRd~:|_ K1|PHPChina 开源社区门户 XZW3m7y L.v;T9^
return @
strPHPChina 开源社区门户c+R/?*lCv
p$\'~ }K#U)ON0endPHPChina 开源社区门户l0K%g0x*Ui
7j@A z"H$e2Bp^i(z-_0goPHPChina 开源社区门户6TyLbQJ6G
8n'X I/CT@ K Ln0PHPChina 开源社区门户0i)N:I9V}9^&^PHPChina 开源社区门户r4KJ-cI`[
--
调用:PHPChina 开源社区门户1g-hwa"g*b
u(D+i5JD-B'_0select 
[name],dbo.join_str([name]) role2 from a_test group by [name
]PHPChina 开源社区门户bO2f)x})d r^)Y
b HV,L"z0
8];ocA v4`.yBx\0JS:N4dag2V[NF0--
select distinct name,dbo.uf_test(name
from a_testPHPChina 开源社区门户 \/k&? d6b*p
!L!}9|-p)km0
4U${ZKhN&q0.F~7I?5w#| n9X:t0PHPChina 开源社区门户 Qg8N.Vz6hPHPChina 开源社区门户%F'H,Y$t$cWn
快速比较结构相同的两表PHPChina 开源社区门户-H:d_3P``
6P"e2DU/@E `)J!^:z0结构相同的两表,一表有记录3万条左右,一表有记录2万条左右,我怎样快速查找两表的不同记录?PHPChina 开源社区门户.Q#^4B9d?
K4]2\5bvV/Yz{Ww0
============================
Nt:G"S w QXi0'|4IBI l{%q0
给你一个测试方法,从northwind中的orders表取数据。PHPChina 开源社区门户QDs&r)^l1C7d*?
Vz!X3LZ0select 
into n1 from ordersPHPChina 开源社区门户q)y6y%hB Yj"SPHPChina 开源社区门户'y5fa"a7B;Mh
select 
into n2 from ordersPHPChina 开源社区门户&R1Q]@~5{:U;J _*tPHPChina 开源社区门户/SaZG6Q6pL Dd Y

/Am.uD;oX8N0dkgbkK6D0select 
from n1PHPChina 开源社区门户0|/Fi y|'aPHPChina 开源社区门户 em#u`rX k!t,F
select 
from n2
HW3u+_1V03|T?;vI;y{0PHPChina 开源社区门户\0BS.[$_ k2T
Y6{A4G#f4r0
--
添加主键,然后修改n1中若干字段的若干条PHPChina 开源社区门户#LW%P"x/j7v
$R1B!\ M;Mxu4I0alter table n1 add constraint pk_n1_id primary key 
(OrderID
)PHPChina 开源社区门户X u6M QVh
O+uOZ2D ^},U5I0
alter table n2 add constraint pk_n2_id primary key (OrderID
)PHPChina 开源社区门户;?;^,v J'i$R"h:v$l
MF[yE|0PHPChina 开源社区门户W W`] jG_PHPChina 开源社区门户Zp(x:d(mI7O
select orderID from (select from n1 union select from n2a group by orderID having count(*) > 
1PHPChina 开源社区门户TA+Er,Zco
QZ@Z-u#`*X+M0PHPChina 开源社区门户Mp8F5A7]
@mp2w#d b F)l#E0应该可以,而且将不同的记录的ID显示出来。PHPChina 开源社区门户"d7c$l#MCPHPChina 开源社区门户su-g{(md ZEn8Y
下面的适用于双方记录一样的情况,PHPChina 开源社区门户)B/H3O DvPHPChina 开源社区门户^Y \\ U Uy [?
PHPChina 开源社区门户u}Z2H4q;B ?
+I0r [eQ'I0select 
from n1 where orderid in (select orderID from (select from n1 union select from n2a group by orderID having count(*) > 1
PHPChina 开源社区门户)i\Gb {G
3uW&OR3jl?S0
至于双方互不存在的记录是比较好处理的PHPChina 开源社区门户"ly o`zsjPHPChina 开源社区门户+g c{%yC E y
--删除n1,
n2中若干条记录PHPChina 开源社区门户f_eR LZN ^4]B,f6A
~WTT&[k `0delete from n1 where orderID in 
('10728','10730'
)PHPChina 开源社区门户 ~Kaw1L;J,T\x|
Y%S6iT$m"A4e-L-c]7a0
delete from n2 where orderID in ('11000','11001'
)PHPChina 开源社区门户GzD"k{;}"JPHPChina 开源社区门户%T5y-D2K3K u
PHPChina 开源社区门户C6B5T$K!a C.pJF
O!}q5~YDT0--*************************************************************PHPChina 开源社区门户G3\+CE2U'dL+O'e^
Vw!Vu\ HG1` W RQ0-- 
双方都有该记录却不完全相同PHPChina 开源社区门户 sX$zE3v
)U f,r nH P0select 
from n1 where orderid in(select orderID from (select from n1 union select from n2a group by orderID having count(*) > 1
)
+z2G J^9Cf_Z0/x5z@'C;x{\+k N0
unionPHPChina 开源社区门户6cJ qd+LPHPChina 开源社区门户3E]4l2q5}4]^"d)xc
--n2中存在但在n1中不存的在10728,
10730PHPChina 开源社区门户K]\)n+kPHPChina 开源社区门户@_-fp,B4?9DJ%k
select 
from n1 where orderID not in (select orderID from n2
)PHPChina 开源社区门户])lV7Q4h
F|;j%t'C[0
unionPHPChina 开源社区门户F.pj0B!I5Y8Y
mr!{}P:c(D0
--n1中存在但在n2中不存的在11000,
11001PHPChina 开源社区门户,l$m4GB l X {
f1C'HQ_mP-Eg(e0select 
from n2 where orderID not in (select orderID from n1
)PHPChina 开源社区门户4m| ~K/gPHPChina 开源社区门户M*fb}+D-M Y
PHPChina 开源社区门户8FJ} R `OJ!f {H
8o{bAy$p0PHPChina 开源社区门户qc)`%K)Go*i0V;}`(UPHPChina 开源社区门户7h:pAU N%V$I)q
四种方法取表里n到m条纪录:PHPChina 开源社区门户 H5eU)@ Q VQ
*EU-[I1cy,b0PHPChina 开源社区门户 ` ~#nX.gX+X9qPHPChina 开源社区门户#YkG? r E6jXta^
1.
[x;B(Z7vi [(h J0+Gp9r|/f j(Ju0select top m 
into 临时表(或表变量from tablename order by columnname -- 
将top m笔插入PHPChina 开源社区门户$A)EsP/j(Qi|%h&|PHPChina 开源社区门户|sO3u$Q1]9?Uq e
set rowcount nPHPChina 开源社区门户m5Vc4m-VH0wPHPChina 开源社区门户RB O7FB5A
select 
from 表变量 order by columnname descPHPChina 开源社区门户fdn _%w X6\&mrt6?
/fRH[7h)Jh I#E1W+`0PHPChina 开源社区门户"IK[8~v LhW8^ hPHPChina 开源社区门户!rL6D9B9\ C*AIU
PHPChina 开源社区门户n-J v7c)e@XC9X
-d9iF1|1nAHj02.PHPChina 开源社区门户OeTqQn.ZiPHPChina 开源社区门户](Vl x oz}
select top n 
from (select top m from tablename order by columnname
a order by columnname descPHPChina 开源社区门户bc(rcA|u
:X8kJ&YQ vcZ0C0PHPChina 开源社区门户+k]Kl6F6Dg5Z
wxF8YW1G1Ad]NS0PHPChina 开源社区门户gue?(mTG,`/eh
8Ez,Hc LZP03.如果tablename里没有其他identity列,那么:PHPChina 开源社区门户tv-lluS5R
]$\4I hu"}6Kq"j0select identity
(int) id0,* into 
#temp from tablenamePHPChina 开源社区门户`-~th7E*^ gPHPChina 开源社区门户+H!l8q c*Gqhgo6C

+mV4\-Kd3Q1Y0ky2HH4N+Q?0
取n到m条的语句为:PHPChina 开源社区门户|Y s'?x#H
6o"f9X;Fzoa-X{0select 
from 
#temp where id0 >=n and id0 <= mPHPChina 开源社区门户b-F'w5i%Z3F0EDj)W~8\PHPChina 开源社区门户&]0A `4Mb
PHPChina 开源社区门户y iOgF2d
(P-dO4k4a3vm0
如果你在执行select identity(int) id0,* into 
#temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行:PHPChina 开源社区门户S |k.i-X&Q;}*t8M
%P"M9We-E$eA0
exec sp_dboption 你的DB名字,'select into/bulkcopy',
truePHPChina 开源社区门户$x2N6U'z%dPHPChina 开源社区门户wpD*Nd _#~+nlq
PHPChina 开源社区门户H8`0~Er&GyjFPHPChina 开源社区门户'bY2DNJ.u C RTLd

!S:N9Y5y&W_r'g~0Q5S/k-? i$x:b04.如果表里有identity属性,那么简单:PHPChina 开源社区门户@.\&Z5m!t wL+^&SPHPChina 开源社区门户9p4kp\D y
select 
from tablename where identitycol between n and 
PHPChina 开源社区门户.FU:N4eFb.|Y
9~6YSxr hW l0PHPChina 开源社区门户Y8SQ_ \ ob0I)OK
[wF?"B-p Q!z#}0PHPChina 开源社区门户)|6Cp(J#B
w9I,QDz$nb0如何删除一个表中重复的记录?PHPChina 开源社区门户%}/_#j)ZRPHPChina 开源社区门户:iID!t9u2ua:]~
create table a_dist
(id int,name varchar(20
))
@Vj2HnZE3vS:[0}t uN!E3}[PZ0PHPChina 开源社区门户;d u \4_r0AR X]
.JD(sq0`T0
insert into a_dist values(1,'abc'
)PHPChina 开源社区门户(ig-PLUAW yPHPChina 开源社区门户{'z|.Pb%y3O
insert into a_dist values(1,'abc'
)PHPChina 开源社区门户&^%]3q$EW$Ck
P3y6`#y:EK IQ:B;?0
insert into a_dist values(1,'abc'
)PHPChina 开源社区门户:G%J^'RL
+RrN#k B/Z{{0
insert into a_dist values(1,'abc'
)
R+v(AtumY0r&@utX)ax/Q!XW0PHPChina 开源社区门户$p ~}T T
{O~_D3}6jU0
exec up_distinct 'a_dist',
'id'PHPChina 开源社区门户V1_)^;A6^ R)T8pj
'bAwS7Qm,w0
/H(dk]n5Y2C+t0%d-cyO@+c(zQnN0
select 
from a_distPHPChina 开源社区门户 ^;Hj4~y3@|A
-Vl8N(bugt/[0PHPChina 开源社区门户d.^v4i @`;F*g
|S$]"{ln0create procedure up_distinct
(@t_name varchar(30),@f_key varchar(30
))
2~c$ZD h+@~0X/R&Q&M OlCO0--
f_key表示是分组字段﹐即主键字段
(Zv5M)[ @"P*{Q0!skx)e7U$N-E&f0
asPHPChina 开源社区门户kN%p5y| { ^^l
?z v E2Br4t0
beginPHPChina 开源社区门户kOFe&F}dW7jPHPChina 开源社区门户6[B)Q7~.I]rH
declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@
type integer
|4tC:r?y!_f$`0J,q8S6ol tr ~0select 
@sql 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +
' having count(*) > 1'PHPChina 开源社区门户:_G'H8X#WUT4ve
9H k$C,B?4fM0
exec(@sql
)
PM~ v? a^0JT c?b.X+f0
open cur_rows PHPChina 开源社区门户bf7x|_PHPChina 开源社区门户t&]/s!W6r/d+G*b(c1S
fetch cur_rows into 
@id,@
max PHPChina 开源社区门户K].YpXjdbPHPChina 开源社区门户(wd9Z SIZQ"V
while @@fetch_status=
PHPChina 开源社区门户 G(w3\'mttVPHPChina 开源社区门户C!mo;k)TR ?
begin PHPChina 开源社区门户Wv3Wl$YV
}'GIW,?9P~Ch8JN0select 
@max = @max -
PHPChina 开源社区门户,S5Zj&vz3sfa?@ WT
8u/V!m8PPC0set rowcount 
@
max PHPChina 开源社区门户8p5i m(]Z P0V:XM
6Dyg.k#j"p c6eG ]0select 
@type xtype from syscolumns where id=object_id(@t_name) and name=@
f_keyPHPChina 开源社区门户,BR3XV H4jk|
9U9j+o6Px4b`0
if @type=
56PHPChina 开源社区门户P5[\3T+n'R4m;fPHPChina 开源社区门户9cWn"C&q(]e
select 
@sql 'delete from '+@t_name+' where ' + @f_key+' = '+ @
id 
R`w*y$z$l|k.[0J:da9YN5s*sG6T0
if @type=
167PHPChina 开源社区门户R(k8GC5X}E4A"EPHPChina 开源社区门户0p'E!tI8do9Z
select 
@sql 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +
'''' 
'c|ip%J,u*nu8U.E0"V8e:m&p;p0
exec(@sql
)
mF-X&JQ/~)Ex/gv5KV0RRS%i.^k8Id0
fetch cur_rows into @id,@
max PHPChina 开源社区门户eG!E `4J}sBV7q
-v4|%{"h-[d[0end 
9NsV'U^1pJI0w!Z:z^|U-? d9{0close cur_rows PHPChina 开源社区门户DZ2AB3\yF8M,@7hPHPChina 开源社区门户_jT p q.E6pc#T
deallocate cur_rows
ydvY!sG,vq(G|04S&Ku5Fgop"[z8@0set rowcount 0PHPChina 开源社区门户co'U.me]UPHPChina 开源社区门户L-Lk^B~z@/u
end
R;E@ h\`0-HWq8}V8Q0PHPChina 开源社区门户 V^2aFV:G0]
.P8wl y,|~x)_0select 
from systypesPHPChina 开源社区门户Us3u*xd ~ zW/G-v
YG,@4K s0select 
from syscolumns where id object_id('a_dist'
)PHPChina 开源社区门户?KkY&I-t&K
_&?,H/tQ&D.N0PHPChina 开源社区门户.jA U8m.G.ul7s;N
#h"mZ,`r0PHPChina 开源社区门户6zrrZ S$^
L7o;a"[ HM0
查询数据的最大排序问题(只能用一条语句写) PHPChina 开源社区门户];Aq~$q
rocY(`A9I x;]0Create TABLE hard 
(qu char (11) ,co char (11) ,je numeric(30
)) PHPChina 开源社区门户.S4{ X:|7i;g
&uC(ya{T!~0PHPChina 开源社区门户/M8L$h/_Y/f4jk{PHPChina 开源社区门户a!A s{;I&a
insert into hard values ('A','1',3
)PHPChina 开源社区门户 }jBQ3l8w3\Y
!T'F;?!\Z3{]t-z0
insert into hard values ('A','2',4
)PHPChina 开源社区门户2UsIv.K:h:M,LMk
,|.UM'f3s,ul0C.{0
insert into hard values ('A','4',2
)
z},F B3fd0%by.T9nT,f o zy{0
insert into hard values ('A','6',9
)PHPChina 开源社区门户N*q`)i'upq
Tv%`_Z`@$C0
insert into hard values ('B','1',4
)PHPChina 开源社区门户"K+M_wO5]#YPHPChina 开源社区门户BO1_DT
insert into hard values ('B','2',5
)
9E'h ]3Dv"]N9\%b01r|"K[ kL c |0
insert into hard values ('B','3',6
)PHPChina 开源社区门户!?c_,a%[;n6ce M
%?Y.@9]L/c.O0
insert into hard values ('C','3',4
)PHPChina 开源社区门户J4d)a,gtm?
_ M7S4@_x'ZB I4Y8U0
insert into hard values ('C','6',7
)PHPChina 开源社区门户 h {6EZ2W.@:i
|-y Q Rg [I0
insert into hard values ('C','2',3
)PHPChina 开源社区门户*a&ul0\0b1Fx.QP
"o!My A#rHz*s+g0
{k[#F.A0~9n({2F%nV:F/JP0
V {#w'g'i#o3D:i7c}O01q1C(UT:@)W0
要求查询出来的结果如下:PHPChina 开源社区门户*Y'C{;Z {5C }R y*d
-WJC dB)B+h@`0PHPChina 开源社区门户%b*FCDoo%WIW6KvPHPChina 开源社区门户%~stU$L1O
qu co je 
-iH O/\Yo05M [Ivt/w;t/s0k0
----------- ----------- ----- PHPChina 开源社区门户:mbgP,d8F
w%~"} gd&d0
A 6 9PHPChina 开源社区门户&H8Y.MI.{bcPHPChina 开源社区门户"Evbs3EA gp?
A 2 4
c.Zx#Z_(Yx0e0$K6cL`!~T0B 3 6PHPChina 开源社区门户,g6]?-J,T P4q|9A.ePHPChina 开源社区门户Ts \5ye*S;hG
B 2 5PHPChina 开源社区门户&P%v%H"x1}%Q
&I]+V5ErV Dz)|0C 6 7PHPChina 开源社区门户;Zc.p-C$OC9Rt
Qv2d"}@,Ra0C 3 4PHPChina 开源社区门户u#G8x4g t]hYT
d m\@&@Z L0PHPChina 开源社区门户3UI;UC(u
T{|#?@J8a0PHPChina 开源社区门户 c4c[;D9vedJ
_(GpjL gXKy0就是要按qu分组,每组中取je最大的前2位!!PHPChina 开源社区门户IO4p\ ~1I"X{L{
4m/I`'c4V0而且只能用一句sql语句!!!PHPChina 开源社区门户:h)Ea U@,]0d
A)}Ao"N3N@:T0select 
from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je
PHPChina 开源社区门户hEE'P`!AOPHPChina 开源社区门户;_s9n)n2tYf
PHPChina 开源社区门户)O3q$WZsT6kX
-p4X|P4a;Lj%F0PHPChina 开源社区门户!kG5Ur1Qv w L:o4_PHPChina 开源社区门户tK3YfLN&s
求删除重复记录的sql语句? 
-^|5y,m;}.` kL0:Dj/Tj b MPB

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 29445
  • 日志数: 99
  • 图片数: 1
  • 建立时间: 2006-10-25
  • 更新时间: 2007-02-06

RSS订阅