日期:2014-05-16  浏览次数:20747 次

构造链表的表
数据表如下:

id name lastid count
1 han 0 4
2 jie 1 空
3 tong 2 空
4 xue 3 空
5 xiao 0 2
6 hao 5 空
7 ni 0 2
8 men 7 空
9 da 0 8
10 jia 9 空
11 jib 10 空
12 jic 11 空
13 jid 12 空
14 jie 13 空
15 jif 14 空
16 jij 15 空


ps:lastid为0的是链表的首字,lastid不为0为上一个字的ID
如第一条链表:han->jie->tong->xue

要求生成的数据表为:


SQL code



 count        |  a  |  b    |  c   |  d     |  e  |  f   |  last  
----------------------------
4             | han |  jie  |  tong|  ...   |  空 |  空  |  xue
----------------------------
2             | jie |  hao  |  空  |  ...   |  空 |  空  |  hao 
----------------------------
2             | ni  |  men  |  空  |  ...   |  空 |  空  |  men 
----------------------------
8             | da  |  jia  |  jib |  ...   |  jie|  jif |  jij
--------------------------



说明:第一行为第一条链表,一共取六个字,abc为链表的前三个,如果没有就填空,e f last为链表最后三个,如没有就填空,但last必须填链表的最后一个字,d 为 ...

谢谢各位高手赐教!

------解决方案--------------------
递归查询,用SP来递归
------解决方案--------------------
程序中利用递归来实现吧。仅用MYSQL的SQL语句无法实现。
------解决方案--------------------
参考下贴中的递归存储过程。

http://blog.csdn.net/acmain_chm/article/details/4142971