日期:2014-05-17  浏览次数:20543 次

求判断表单据号为某值的数据行除自增id列外是否全部重复的语句
有类似如下表(简化了一下),如何判断djh='XXXXX' 的数据,在表中c1,c2,c3,c4有重复,且每一行都有重复。也是就djh='XXXXX' 的数据 多插入了一次的效果,如何快速检索出来。因为表中数据量比较大。djh列有索引。测试数据中 djh='A02050000002'的判断是不完全重复,A00010000001 判断为重复

CREATE TABLE [dbo].[t_csb1](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[djh] [varchar](20) NULL,
[c1] [varchar](50) NULL,
[c2] [varchar](50) NULL,
[c3] [varchar](50) NULL,
[c4] [varchar](50) NULL,
 CONSTRAINT [PK_t_csb1] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
go
--测试数据
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','12040000600','静脉输液','0','组')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','4011000402','米非司酮','25mg*6','片')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','40110029','施慧达','1h','盒')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','11020000100','普通门诊诊查费','0','次')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','40110029','施慧达','1h','盒')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','4011000402','米非司酮','25mg*6','片')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','4011011402','氯化钠','100ml','瓶')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','4011013304','纳洛酮注射液','1mg*5z','支')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','40110114','氯化钠','250ml','瓶')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','40110075','奥美拉唑针','20mg','支')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','4011014003','10%葡萄糖','250ml','瓶')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','40110174','维生素C针','0.5g*10z','支')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','11020000300','急诊诊查费','0','次')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A02050000002','70009663','门诊静脉输液费(三)(含器械 床位 观察费用)','0','次')
insert   t_csb1   (djh,c1,c2,c3,c4)      values   (   'A00010000001','12040000600','静脉输液','0','组')
insert  &nb