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