[英]Syntax Error in SQL Select statement with Case (Oracle)
I have the written following query but it i am getting an error message ie FROM KEY WORD NOT FOUND
我有书面的以下查询,但它收到错误消息,即未FROM KEY WORD NOT FOUND
Any idea? 任何想法?
SELECT H.AGG_HEADER_SEQ,
H.PRICE,
D.AGG_DETAIL_SEQ,
D.MONEY_UNITS,
D.CASH_VALUE,
D.UNIT_VALUE,
D.MONEY_UNITS_VALUE,
CASE
WHEN D.MONEY_UNITS = 'U' THEN (D.UNIT_VALUE * H.PRICE) / 1
WHEN D.MONEY_UNITS = 'M' THEN D.UNIT_VALUE
ELSE 0
END
AS CASH_VALUE_CALC INTO CAL_CASH_VALUE,
CASE
WHEN D.MONEY_UNITS = 'U' THEN D.CASH_VALUE
WHEN D.MONEY_UNITS = 'M' THEN (D.CASH_VALUE * H.PRICE) / 1
ELSE 0
END
AS UNIT_VALUE_CALC INTO CAL_UNIT_VALUE
FROM FCS.ORDTRAN_NOM_AGG_HEADER H
JOIN FCS.ORDTRAN_NOM_AGG_DETAIL D
ON H.AGG_HEADER_SEQ = D.AGG_HEADER_SEQ
WHERE H.AGG_HEADER_SEQ = 5379 AND D.ALLOW_PRICING = 'Y';
You have to get rid of INTO CAL_CASH_VALUE
: 您必须摆脱INTO CAL_CASH_VALUE
:
SELECT H.AGG_HEADER_SEQ, H.PRICE, D.AGG_DETAIL_SEQ, D.MONEY_UNITS, D.CASH_VALUE, D.UNIT_VALUE, D.MONEY_UNITS_VALUE, CASE WHEN D.MONEY_UNITS = 'U' THEN (D.UNIT_VALUE * H.PRICE) / 1 WHEN D.MONEY_UNITS = 'M' THEN D.UNIT_VALUE ELSE 0 END AS CASH_VALUE_CALCINTO CAL_CASH_VALUE, CASE WHEN D.MONEY_UNITS = 'U' THEN D.CASH_VALUE WHEN D.MONEY_UNITS = 'M' THEN (D.CASH_VALUE * H.PRICE) / 1 ELSE 0 END AS UNIT_VALUE_CALC INTO CAL_UNIT_VALUE FROM FCS.ORDTRAN_NOM_AGG_HEADER H JOIN FCS.ORDTRAN_NOM_AGG_DETAIL D ON H.AGG_HEADER_SEQ = D.AGG_HEADER_SEQ WHERE H.AGG_HEADER_SEQ = 5379 AND D.ALLOW_PRICING = 'Y';
If you want to use this query for PL/SQL you have to put this right above the FROM
clause, but you have to add variables for other fields. 如果要对PL / SQL使用此查询,则必须将其放在FROM
子句的上方,但是必须为其他字段添加变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.