【发布时间】:2019-01-30 20:14:35
【问题描述】:
我在 Oracle 中有一个 SQL 查询,它有一个使用 case 语句计算的列。我想使用新创建的列作为第二个计算列的输入。请在下面查看我的代码。
当我尝试运行它时,我收到错误“PAYER_TYPE”:标识符无效。那么有没有办法在第二列中使用“PAYER_TYPE”值?
SELECT
CASE
WHEN TYP IN ('Swap', 'Ton')
THEN
CASE
WHEN INDX_PAY = 'FIXED'
THEN 'FIXED'
ELSE 'FLAT'
END
END AS PAYER_TYPE,
CASE
WHEN TYPE = 'Swaption'
THEN
CASE
WHEN PAYER_TYPE = 'FIXED'
THEN PAY_LEG
ELSE REC_LEG
END
ELSE 0
END AS STRIKE
FROM Hedge.Details
【问题讨论】:
标签: sql oracle case calculated-columns