SQL两个表连接查询去掉重复数据的方法

标签:
sql查询语句表连接去重复 |
分类: 〖Database〗 |
因为表B_CallNo有重复的CtrlNo,导致查询的结果也有重复了。我要的结果是4(正确的),但是查询结果是8(错误的)。下面给出解决方法:
-----------------------用下面的语句实现(两种方法)----------------
-
- SQL code
-
方法二:select substring( CallNo , 1 ,2 ) as class , count(Barcode) as Totalfrom (select distinct CtrlNo , CallNo from B_CallNo ) a , B_Barcode bwhere a.CtrlNo = b.CtrlNogroup by substring( CallNo , 1 ,2)order by Total desc
-
---------------以下是给大家的调试准备的语句----------------
-
--表B_CallNo--
create table B_CallNo
(ID int primary key identity(1,1),
CtrlNo int,
CallNo varchar(50),
Lib int
)
insert into B_CallNo(CtrlNo, CallNo, Lib) values('101','TP393',1)
insert into B_CallNo(CtrlNo, CallNo, Lib) values('101','TP393',2)
--表B_Barcode--
create table B_Barcode
(ID int primary key identity(1,1),
Barcode varchar(50),
CtrlNo int
)
insert into B_Barcode(Bardcode , CtrlNo) values('A0001','101')
insert into B_Barcode(Bardcode , CtrlNo) values('A0002','101')
insert into B_Barcode(Bardcode , CtrlNo) values('A0003','101')
insert into B_Barcode(Bardcode , CtrlNo) values('A0004','101')