求一个SQL语句 ( 积分: 70 )

  • 主题发起人 主题发起人 leichunmei
  • 开始时间 开始时间
L

leichunmei

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库是SQLServer 2000
select 卡片号 from 专用设备 where 卡片号 in (select 卡片号 from 专用设备 group by 卡片号 having count(卡片号) >1)
这个语句会把“卡片号”重复的记录显示出来。那么我想重新最选出的卡片号进行编号,从998006开始编。顺序加1。语句怎么写?
 
楼主的意思让人不是很明白。
 
那個其實也很容易,你建一個臨時表,create table #temp(id int identity(998006,1),kh
varchar(20)),先把查詢到的記錄插入到這個臨時表中,讓它自動產生從998006的編號,
select 卡片号 into #temp(kh) from 专用设备 group by 卡片号 having count(卡片号) >1 ,然后刪除原表里面的數據 delete from 专用设备 where 卡片号 in (select 卡片号 from 专用设备 group by 卡片号 having count(卡片号) >1),然后再從臨時表中插入過來就可以啦,insert into 專用設備(卡片號) select cast (id as varchar(20)) from #temp
 
先按自己的需求排序,然後編號,如樓上;最好,這個表和別的表有外關聯,這樣對別的表不用過多的動作
 
后退
顶部