我只需要不同的数据,但不是在“SELECT”语句上,而是在我的“案例”上条件下。
好的,这是sql代码:
select
case
when length(b.level0_iid) = 4 then 'COMPANY'
when length(b.level0_iid) = 7 and b.level0_iid like 'P%' then 'DIVISION'
else 'Error'
end "LEVEL 0"
from Transact.et_travel_transaction a,
Transact.cy_2elist b
这段代码的问题when length(b.level0_iid) = 4 then 'COMPANY'
是:b.level0_iid
返回多个数据,但我的“案例”只需要一个。我假设其中的所有数据都对条件有效,无论如何如果不是,那么就没有问题。我已经尝试过,when length(first(b.level0_iid)) = 4 then 'COMPANY'
但错误指出:ORA-00904:“FIRST”:无效标识符。
尽可能地,我不想使用子查询'因为如果我这样做,我的代码将运行数百行。如果除了做子查询别无他法,那将是我最后的手段。
我的要求可以吗?有什么建议么?谢谢