请教一个问题:如果在一张表里,有多家机构号和证件号,我要找出哪些证件号是跨机构存在的
,这个SQL语句应该如何写呢?
机构 证件
兰州营业部 110301
滁州营业部 110302
滁州营业部 110303
上海营业部 110301
上海营业部 110302
.....
如110302, 110301是跨机构存在的
问题点数:100、回复次数:5Top
1 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-04-01 15:59:45 得分 0
select
distinct a.证件
from
表 a
where
exists(select 1 from 表 where 证件 = a.证件 and 机构 != a.机构)Top
2 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-01 16:00:49 得分 0
是不是说如果数量多于一个就是跨机构存在??Top
3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-04-01 16:03:40 得分 40
create table 表(
机构 varchar(20),
证件 varchar(10))
insert into 表 select '兰州营业部','110301'
insert into 表 select '滁州营业部','110302'
insert into 表 select '滁州营业部','110303'
insert into 表 select '上海营业部','110301'
insert into 表 select '上海营业部','110302'
select
distinct a.证件
from
表 a
where
exists(select 1 from 表 where 证件 = a.证件 and 机构 != a.机构)
--结果
/*
证件
------
110301
110302
*/Top
4 楼zjcxc(邹建)回复于 2005-04-01 16:04:06 得分 40
select 证件 from 表 group by 证件 having count(distinct 机构)>1Top
5 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-01 16:11:24 得分 20
直接这样就可以吧。
select 证件 from 表 group by 证件 having count(机构)>1Top




