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
Ïà¹ØÎĵµ£º
³õ¼¶Æª —— ¼òµ¥²éѯÓï¾äµÄµ÷ÓÅ ÀîÃ÷»Û , Èí¼þ¹¤³Ìʦ, IBM
ÀîÃ÷»Û£¬ÔÚ IBM ÖйúÈí¼þ¿ª·¢ÖÐÐÄ Data Studio ÍŶӹ¤×÷´ÓÊ InfoSphere Warehouse Administration Console µÄ¹¦ÄܲâÊÔ¹¤×÷¡£ÔøÔÚ developerWorks ·¢±í¡¶½« DB2 DWE 9.1.X ǨÒƵ½ DB2 Warehouse 9.5¡·¡¢¡¶InfoSphere Warehouse SQL ²Ö´¢ÃüÁîÐнӿ ......
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_ ......
һֱûÓÐÕÒµ½Ò»Öֺõķ½·¨À´ÒýÓÃÓзµ»ØÖµµÄ´æ´¢¹ý³ÌµÄ·½·¨£¬Ê¹ÎÒÔÚÌí¼ÓÊý¾ÝÖÐ×ßÁ˲»ÉÙµÄÍä·£¬×î½ü£¬ÔÚ²éÔÄÁË´óÁ¿µÄ×ÊÁÏÖ®ºó£¬ÖÕÓÚÔÚ΢ÈíµÄÒ»¸öʵÀýÖÐÕÒµ½ÁËÒ»ÖÖÁ¼ºÃµÄ·½·¨¡£
Ê×ÏȱàдºÃÒ»Óзµ»ØÖµµÄ´æ´¢¹ý³Ì
create procedure proc_name
@para1 nchar(20), --ÊäÈë²ÎÊý
@ ......
1.ʹÓÃManagement Studio Express£¬ÓÓWindowsÉí·ÝÑéÖ¤”µÇ¼£¬Ñ¡ÖÐSQL·þÎñÆ÷Ãû£¬ÓÒ»÷Êó±êÑ¡ÔñÊôÐÔ£¬ÔÚ·þÎñÆ÷ÊôÐÔÑ¡ÏîÒ³Ã棬ѡÔñ“°²È«ÐÔ”£¬½«·þÎñÆ÷Éí·ÝÑéÖ¤ÓÉ “WindowsÉí·ÝÑéÖ¤”¸ÄΪ“SQL ServerºÍWindowsÉí·ÝÑéÖ¤”£¬µ¥»÷È·¶¨¡£
2.ʹÓÃSQL Server 2005ÍâΧӦÓÃÅäÖÃÆ÷£¬Ñ¡ ......
дһ¸ö´æ´¢¹ý³Ì£¬½«±íÒ»°´ÕÕ±í¶þµÄÐÎʽ½øÐвéѯ¡£
²Ö¿âÃû³Æ ÉÌÆ·Ãû³Æ ÊýÁ¿
A
S001 12
A S002 17
A
S003 10
B S001 21
B
S002 5
B S003 ......