作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] 请问如何找出母节点
时间Thu Jul 5 23:18:23 2007
※ 引述《rosemary (迷迭香)》之铭言:
: 我有一个资料表叫做products如下
: 是为了展现树状结构,树的层级是动态的,不一定有几层。
: 请问要怎麽下SQL语法,给定nodID,找出所有的母节点monID
: 例如;给nodID=12 (2B铅笔),
: 要怎麽找出 (1)文具-(4)铅笔-(12)2B铅笔呢?
: (从後面 12-4-1找也可以 ^^)
: 要用递回吗?那这个例子SQL的递回语法怎麽写呢?
: 我是用MS SQL 2005的....谢谢大家 ^^
: products
: ========================
: nodID monID nodName
: 0 -1 产品
: 1 0 文具
: 2 0 食物
: 3 0 饰品
: 4 1 铅笔
: 5 1 笔记本
: 6 2 饼乾
: 7 2 水果
: 8 3 发圈
: 9 3 耳环
: 10 3 太阳眼镜
: 11 4 自动铅笔
: 12 4 2B铅笔
: 产品-文具-铅笔 -自动铅笔...
: -2B铅笔
: -笔记本
: 食物-饼乾
: -水果
: 饰品-发圈
: -耳环
: -太阳眼镜
在 php板看到一个文章连结
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
虽然不符合需求(动态阶层),但觉得有从这篇文章得到一点启发……
WHERE 比对的条件是横向的列,如果不够那就 SELF JOIN扩充栏位,
这仍然是不熟的地方 orz..
像上上上....篇找共同值的的问题,是有想到扩充栏位,
但卡在分支如果不固定(甲会对到A.B.C...的话)又要动态 JOIN....伤脑筋 orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.69.56