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,這樣就能保證每個記錄只有一條了。