起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 256|回复: 2

SQL不会

[复制链接]
发表于 2010-7-21 14:27:35 | 显示全部楼层 |阅读模式
结构是:

   ID       性质       证号         姓名   性别。。。。

0001    现持有人  00000001               张三
0002    原持有人  00000001               张三
0002   现持有人   00000002              张三二


1002    现持有人  10000002               李四
1003    原持有人  10000002       李四
1003    现持有人  10000003               王五
1004    原持有人  10000003               王五
1004    现持有人  10000004               赵六


一个ID号代表一次变更,从原持有人到现持有人,证号发生变化。
本次变更的原持有人,是上次变更(如果存在上次变更的话)的现持有人。
现在是需要根据一个现持有人的证号,找到他之前的所有变更信息。

比如 根据 现持有人 赵六 10000004号 能够知道本次变更的原持有人证号10000003 ,再用10000003 继续查找直至找不到。
最后的结果是:

1002    现持有人  10000002               李四
1003    原持有人  10000002       李四
1003    现持有人  10000003               王五
1004    原持有人  10000003               王五
1004    现持有人  10000004               赵六


这个不会实现。
回复

使用道具 举报

发表于 2010-7-21 14:56:17 | 显示全部楼层
用的什么数据库,SQL server 2005可以用with递归
回复 支持 反对

使用道具 举报

发表于 2010-7-21 15:03:34 | 显示全部楼层
oracle中有 start with 递归查找,你网上找一下sqlserver中是否也有类似的递归查找用法?
实在不行就写个存储过程来实现吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 23:11 , Processed in 0.039140 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表