高分跪求一救命存储过程
oldNo newNo
a1 a
a2 a
b1 b
b2 b
a1 c
b1 c
a d
e f
g h
k j
j h
oldNo代表旧的编号
newNo代表新的编号
a2=a=a1=c=b1=b=b2=d
这几个编号是等价的
e,f和别的编号没有等价关系
原样显示
用一存储过程出来的结果是
a1 a
a2 a
b1 a
b a
b2 a
d a
e f
g h
k h
j h
其中a或h从等价关系的编号中随机取出
a也可以是a1,h也可以是g
---测试数据
if exists (select * from sysobjects where id = OBJECT_ID('[rep]') and OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE [rep]
go
CREATE TABLE [rep] ( [oldNo] [varchar] (50) NULL , [newNo] [varchar] (50) NULL )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'a1' , 'a' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'a2' , 'a' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'b1' , 'b' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'b2' , 'b' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'a1' , 'c' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'b1' , 'c' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'a' , 'd' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'e' , 'f' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'g' , 'h' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'k' , 'j' )
INSERT [rep] ( [oldNo] , [newNo] ) VALUES ( 'j' , 'h' )
go