sql²éѯ»ã×Ü
-
´¦Àí±íÖØ¸´¼Ç¼(²éѯºÍɾ³ý)
/*
*****************************************************************************************************************************************************
1¡¢Num¡¢NameÏàͬµÄÖØ¸´Öµ¼Ç¼,ûÓдóС¹ØÏµÖ»±£ÁôÒ»Ìõ
2¡¢NameÏàͬ,IDÓдóС¹ØÏµÊ±,±£Áô´ó»òСÆäÖÐÒ»¸ö¼Ç¼
ÕûÀíÈË£ºÖйú·ç(Roy)
ÈÕÆÚ:2008.06.06
*****************************************************************************************************************************************************
*/
--
1¡¢ÓÃÓÚ²éÑ¯ÖØ¸´´¦Àí¼Ç¼(Èç¹ûÁÐûÓдóС¹ØÏµÊ±2000ÓÃÉú³É×ÔÔöÁкÍÁÙʱ±í´¦Àí,SQL2005ÓÃrow_numberº¯Êý´¦Àí)
--
> --> (Roy)Éú³É測試數據
if
not
object_id
(
'
Tempdb..#T
'
)
is
null
drop
table
#T
Go
Create
table
#T(
[
ID
]
int
,
[
Name
]
nvarchar
(
1
),
[
Memo
]
nvarchar
(
2
))
Insert
#T
select
1
,N
'
A
'
,N
'
A1
'
union
all
select
2
,N
'
A
'
,N
'
A2
'
union
all
select
3
,N
'
A
'
,N
'
A3
'
union
all
select
4
,N
'
B
'
,N
'
B1
'
union
all
select
5
,N
'
B
'
,N
'
B2
'
Go
--
I¡¢NameÏàͬID×îСµÄ¼Ç¼(ÍÆ¼öÓÃ1,2,3),·½·¨3ÔÚSQl05ʱ£¬Ð§ÂʸßÓÚ1¡¢2
·½·¨1:
Select
*
from
#T a
where
not
exists
(
select
1
from
#T
where
Name
=
a.Name
and
ID
<
a.ID)
·½·¨2:
select
a.
*
from
#T a
join
(
select
min
(ID)ID,Name
from
#T
group
by
Name) b
on
a.Name
=
b.Name
and
a.ID
=
b.ID
·½·¨3:
select
*
from
#T a
where
ID
=
(
select
min
(ID)
from
#T
where
Name
=
a.Name)
·½·¨4:
select
a.
*
from
#T a
join
#T b
on
a.Name
=
b.Name
and
a.ID
>=
b.ID
group
by
a.ID,a.Name,a.Memo
having
count
(
1
)
=
1
·½·¨5:
select
*
from
#T a
group
by
ID,Name,Memo
having
ID
=
(
select
min
(ID)
from
#T
where
Name
=
a.Name)
·½·¨6:
select
Ïà¹ØÎĵµ£º
½¨Á¢Ò»¸ö Web Ó¦Ó㬷ÖÒ³ä¯ÀÀ¹¦Äܱز»¿ÉÉÙ¡£Õâ¸öÎÊÌâÊÇÊý¾Ý¿â´¦ÀíÖÐÊ®·Ö³£¼ûµÄÎÊÌâ¡£¾µäµÄÊý¾Ý·ÖÒ³·½·¨ÊÇ:ADO ¼Í¼¼¯·ÖÒ³·¨£¬Ò²¾ÍÊÇÀûÓÃADO×Ô´øµÄ·ÖÒ³¹¦ÄÜ£¨ÀûÓÃÓα꣩À´ÊµÏÖ·ÖÒ³¡£µ«ÕâÖÖ·ÖÒ³·½·¨½öÊÊÓÃÓÚ½ÏСÊý¾ÝÁ¿µÄÇéÐΣ¬ÒòΪÓα걾ÉíÓÐȱµã£ºÓαêÊÇ´æ·ÅÔÚÄÚ´æÖУ¬ºÜ·ÑÄÚ´æ¡£ÓαêÒ»½¨Á¢£¬¾Í½«Ïà¹ØµÄ¼ÇÂ¼Ëø×¡£¬Ö±µ½È¡ÏûÓ ......
CREATE proc [dbo].[proc_DeleteTemplet] (@templeId varchar(15),@errorMessage varchar(50) output)
as
begin
declare @error int
set @error =0
begin tran
delete from tc_templet_Head where fBillNo=@templeId
set @error=@error+@@error
delete from tc_templet_ ......
Ò»¡¢Çé¿ö˵Ã÷
sql server 2000ÒÔǰµÄ°æ±¾£¬ÀýÈç7.0Ò»°ã²»´æÔÚ¶à¸ö°æ±¾£¬Ö»Óбê×¼°æ¸ú×ÀÃæ°æ£¬Óû§Èç¹û²»Çå³þ¸Ãװʲô°æ±¾µÄ»°£¬¿É°´°²×°ÉϵÄ
°²×°ÏȾöÌõ¼þָʾ°²×°£¬Ò»°ãÔÚWIN2000 ·þÎñÆ÷°æÉÏ×°±ê×¼°æ£¬ÆäËûµÄϵͳװ×ÀÃæ°æµÄ¾Í¿ÉÒÔ£»¶øSQL Server 2000°²×°ÎÊÌâ¾Í±È½Ï´ó£¬Ê±³£
¼ûµ½µÄÎÊÌâÈçÏ£º
......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......