要求:
1.查出用户信息表(t_users)中的所有重复记录(姓名、身份证号、手机号、座机号任一项重复都视为重复)。
2.结合用户信息表(t_users)和用户状态表(t_state),把重复记录在t_state表中对应的信息整合到每组重复记录中uid最小的账号下,并把此最小账号对应用户状态(state)改为T,每组重复中其它账号对应的用户状态(state)改为F(即:把t_state表中每组重复记录的uid都改为最小的uid,而对应的状态前者为T,后者为F)。
注意:用T-SQL存储过程来完成。
用户信息表(t_users)
用户账号(uid) |
用户姓名(name) |
身份证号(card_num) |
手机号(mobile) |
座机号(tel) |
1125 |
方佳 |
41128219901121454X |
13638921134 |
|
1126 |
刘明 |
420030198910223517 |
18272314567 |
0398-6817320 |
1127 |
310109198809232846 |
15233775412 |
||
1128 |
艾丽 |
310105199103212249 |
13178324563 |
|
1129 |
萧筱 |
330117199204152267 |
||
1130 |
郑志峰 |
N203248319 |
||
1131 |
洪欣远 |
332625198307113913 |
||
1132 |
萧筱 |
13838324211 |
||
1133 |
41128219901121454X |
|||
1134 |
陆羽 |
* |
15864657279 |
|
1135 |
彭哲 |
420 |
||
1136 |
* |
13947233828 |
0768-6688728 |
|
1137 |
吴雪 |
15233775412 |
027-82313013 |
|
1138 |
310105199103212249 |
|||
1139 |
欧阳冰玉 |
Null |
13165467801 |
|
…… |
…… |
…… |
…… |
…… |
用户状态表(t_state)
状态标记号(sid) |
用户账号(uid) |
用户状态(state) |
用户评论(remark) |
3340 |
1125 |
T |
今天的心情不错 |
3341 |
1125 |
T |
你的行头真帅 |
3342 |
1125 |
F |
价格贵啦点吧 |
3343 |
1129 |
F |
看看再说吧 |
3344 |
1129 |
F |
打酱油的走过 |
3345 |
1129 |
T |
还好 |
3346 |
1129 |
F |
顶 |
3347 |
1130 |
T |
柳叶弯弯,月儿新 |
3348 |
1130 |
T |
不离不弃,爱里相依 |
3349 |
1130 |
T |
往日不谏,来日可追 |
3350 |
1130 |
T |
算了吧 |
3351 |
1133 |
F |
愿未了 |
3352 |
1133 |
F |
等待中 |
3353 |
1140 |
T |
路过 |
3354 |
1140 |
F |
无语 |
…… |
…… |
…… |
…… |
不懂楼主干嘛要这样做
这样会有问题。你删除了t_users表数据,t_state表里就出项脏数据。
你那个用户表中“姓名“会不能视为重复