------------------------------ ---------- ----------
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/