ITPub博客

首页 > IT职业 > IT生活 > 1,2,3层.......

1,2,3层.......

原创 IT生活 作者:passionyqz 时间:2009-05-07 21:54:06 0 删除 编辑
VALUENAME IDS FCLASS
------------------------------ ---------- ----------
value1 1 0
value21 2 1
value22 3 1
value31 4 2

想要的结果:将表转化成这种形式:
VALUENAME VALUENAME VALUENAME
------------------------------ ------------------------------ ------------------------------
value1 value21 value31
value1 value22

它们之间的关系是:value1在顶层,value21,value22在第二层,value31在第三层,它们之间通过fclass进行关联。[@more@]

原来我是这样写的:
select a.valuename,b.valuename,c.valuename from test a,test b,test c where a.fclass='0' and a.ids=b.fclass and b.ids=c.fclass;

得到的结果是:
VALUENAME VALUENAME VALUENAME
------------------------------ ------------------------------ ------------------------------
value1 value21 value31

value22没查出来,也就是说,没有下级数据的值显示不出来。

我想请问大家一下,应该怎么去写才能把value22也查出来呢?谢谢大家先。。。。

一网友答:

select class1.fclass level1, class1.ids level2, test.ids level3
from
test,
(
select fclass, ids from test
where fclass = 1
) class1
where class1.ids = test.fclass(+);

再连上 test 得到 valuename

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16115580/viewspace-1021852/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-27

  • 博文量
    10
  • 访问量
    6418