WITH a AS( SELECT '01' code,'足球' NAME FROM dual UNION ALL SELECT '02','排球' FROM dual UNION ALL SELECT '03','公司级' FROM dual UNION ALL SELECT '04','市级' FROM dual ), b AS( SELECT '03' classle1,'01' classle2 FROM dual UNION ALL SELECT '04','02' FROM dual) SELECT a1.NAME,a2.NAME FROM b,a a1,a a2 WHERE b.classle1=a1.code(+) AND b.classle2=a2.code(+)
------解决方案-------------------- 这个意思?
with a as( select '01' code,'足球' name from dual union all select '02' code,'排球' name from dual union all select '03' code,'公司级' name from dual union all select '04' code,'市级' name from dual ),b as( select '03' classle1,'01' classle2 from dual union all select '04' code,'02' name from dual ) select (select name from a where a.code = b.classle1) classle1, (select name from a where a.code = b.classle2) name from b