易截截图软件、单文件、免安装、纯绿色、仅160KB

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



相关文档:

sql server 2000 数据表的 关键字

create table "user" (
   id                   int                  identity,
   constraint PK_USER prim ......

sql:存储过程,事务,out参数

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_ ......

在c#中的取得sql server存储过程的output参数

private void Create_Pz(string Sourcename)
        {
            string OutMsg;
            SqlParameter[] sortPara = { new SqlParameter("@ps_IsType", Pz ......

简单的SQL面试题

1. Q. What is a join?
   A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one joined collection of data.
2. Q. Can a table have more than one foreign key defined?
   A. A table can have any number of foreig ......

sql行转列


写一个存储过程,将表一按照表二的形式进行查询。
仓库名称 商品名称 数量
A
S001 12
A S002 17
A
S003 10
B S001 21
B
S002 5
B S003 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号