A. sql server 2000,A,B两表,结构相同。 请问如何查找姓名相同,身份证不同的数据
select 姓名,号码 from A,B where A.姓名=B.姓名 and A.号码<>B.号码 order by 姓名
>两表还有一个情况,就是有的姓名是音同字不同,比如一个人的姓名, 在A表叫张建,在B表叫张剑。如何查找出来?
这个因为表里没有读音这个字段,用SQL实现很难。可能实现的方法如下:
方法1. 加一个读音字段(因为春昌斗有多音字的问题,我认为这是最不会错的办法)
方法2. 加一个汉字读音表,用PL/SQL读取汉字读音表的读音然后迅搜显示扒磨。
B. 求T-SQL语句 查询存在身份证号和名字重复的记录
select
身份证号
,count(名字)
SL
from
[表名]
having
count(名字)>1
思路是根据身份证号,计算一下名字一样的不多少个,把名字一样的数量>1,就显示出来,这些是身份证号重复的记录,具体重复几次,就看后面的SL
C. sql 2000中如何找出所有同姓的人,名可以不同
假设你保存姓名的数据表为“abc”,则可以使用如下语句查询出所有姓氏有重复的人员信息:
select * from abc where substring(thexm,1,1) in (select substring(thexm,1,1) 姓氏 from abc group by substring(thexm,1,1) having count(substring(a0101,1,1))>1);
其中:select substring(thexm,1,1) 姓氏 from abc group by substring(thexm,1,1) having count(substring(a0101,1,1))>1部分是查询生成姓氏出现数量大于1次(即有重复)的列表;
然后在从列表中查询出姓氏在这些重复列表之中的人员信息;
substring函数中各参数的意义可以翻阅相关书籍或者网络,having子句等的用法不再详解。
D. 怎样用sql语句查找不同的姓
select distinct substring(姓名,1,1) from 表 where len(姓名)<=3
union all
select distinct substring(姓名,1,2) from 表 where len(姓名)>3
一般小于等于三个字的是单姓
大于三个字的是复姓
E. 求sql语句 两个字段 姓名 身份证号码 要求显示 相同姓名的不同证件号码。
select
姓名,证件号码
from
tb
where
姓名
in
(select
姓名纯梁
from
tb
group
by
姓名判裤局
having
count(1)>1)
group
by
姓名,证件掘让号码
order
by
姓名
where的条件可以不加,加上是查询相同名字有多条数据的
F. 在SQL的中2个表中怎么找出相同的身份证号码(加高分)
可以用敬肢迟饥凳exists 。
select * from a where exists
(select * from b where a.身份亮李证=b.身份证)
G. 用SQL语句描述,有一个员工表只有姓名和身份证号两个字段,找出其中重名的员工
SELECT * FROM 员工表 WHERE 姓名 IN
(
SELECT 姓名 FROM 员工表 GROUP BY 姓名 HAVING COUNT(姓名) >1
)
H. sql语法 如何显示重复的身份证号
正解应该者拦是:
select id
from table_name
group by id
having count(*)>1
记得拿兄采纳我的答案为最佳答案啊首敏胡~~~~
I. SQL语句 相同身份证号不同姓名
去重(虽然这个纯粹是结果导向,也就是说,为了要得到这个结果而操作的,并不是为了查询而操作的,但是能得到你想要的结果):先身份证号和姓名两个字段一起distinct(就是去重,当然你现在的结果直接去重也可以,这样也是你要的结果),然后再group by 身份证号 having count(*)>1,这样就能保证每个记录只有一条了。