首页 > 解决方案 > SQL 错误 [904] [42000]: ORA-00904: "BC"."SPAREBOX": 标识符无效

问题描述

我使用oracle用CTE计算一些别名,但是当我运行它时发生错误

这是我的查询:

WITH BOXCOUNT AS (                                                         
SELECT 
PRODUCT_CODE 
 , ROUND(SUM(TOTAL_QUANTITY/PACKING_STYLE)) AS FULLBOX
 , CASE WHEN SUM((TOTAL_QUANTITY - ROUND(SUM(TOTAL_QUANTITY/PACKING_STYLE))) * PACKING_STYLE) = 0 THEN 0
       WHEN SUM((TOTAL_QUANTITY - ROUND(SUM(TOTAL_QUANTITY/PACKING_STYLE))) * PACKING_STYLE) > 0 THEN 1
    END AS SPARE_BOX

FROM 
    LOG0104M 
GROUP BY 
PRODUCT_CODE)

SELECT
L04.PRODUCT_CODE
, L04.PRODUCT_NAME 
, L04.TOTAL_QUANTITY
, L04.PACKING_STYLE

, BC.FULLBOX
, BC.SPAREBOX

, SUM(BC.FULLBOX + BC.SPAREBOX) AS TOTALBOX     
FROM LOG0104M L04
JOIN BOXCOUNT BC
ON   BC.PRODUCT_CODE = L04.PRODUCT_CODE 

GROUP BY  
L04.PRODUCT_CODE
, L04.PRODUCT_NAME
, L04.TOTAL_QUANTITY
, L04.PACKING_STYLE
, BC.FULLBOX
, BC.SPAREBOX

这是一个错误:

SQL Error [904] [42000]: ORA-00904: "BC"."SPAREBOX": invalid identifier

标签: sqloracleoracle11g

解决方案


推荐阅读