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

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博客 ” ,链接:http://blog.itpub.net/16115580/viewspace-1021852/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16115580/viewspace-1021852/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值