[英]Error message which I can't explain/solve in sql
这段代码给出了这个我真的没有得到的错误(Select 工作正常):
'SQL 错误 [2022] [42601]:SQL 编译错误:缺少列规范'
CREATE OR REPLACE TABLE ANALYSE_PMN.DTE_INSTALL_WFM AS
(
SELECT BUT000.PARTNER AS ZPARTNER ,
BUT000.BPKIND AS SRT ,
FKKVKP.KTOKL AS REKENINGKLASSE ,
EVER.VKONTO AS CONTRACTREKENING ,
EVER.VERTRAG AS CONTRACT ,
TO_CHAR(EVER.EINZDAT, 'YYYYMMDD') AS INHUISDATUM ,
TO_CHAR(EVER.AUSZDAT, 'YYYYMMDD') AS UITHUISDATUM ,
EANL.ANLAGE AS AANSLUITING ,
EANL.SPARTE AS PRODUCT ,
EANLH.ABLEINH AS PORTIE ,
TO_CHAR(EANLH.AB, 'YYYYMMDD') AS VANAF ,
TO_CHAR(EANLH.BIS, 'YYYYMMDD') AS TOT ,
SUBSTR(EANLH.ABLEINH, 2, 4) AS PORTIE_MMDD ,
DTE_PERIODE.PERIODE AS GEPL_AFR_YYYYMM ,
DTE_PERIODE.PERIODE
|| SUBSTR(EANLH.ABLEINH, 4, 2) AS GEPL_AFR_YYYYMMDD ,
NVL(ZZEAN_VERBR_HG, 0) ,
NVL(ZZEAN_VERBR_LG, 0) ,
NVL(ZZEAN_VERBR_HG, 0) + NVL(ZZEAN_VERBR_LG, 0) AS ZZEAN_VERBR ,
NVL(ZZEAN_TERUG_HG, 0) ,
NVL(ZZEAN_TERUG_LG, 0) ,
NVL(ZZEAN_TERUG_HG, 0) + NVL(ZZEAN_TERUG_LG, 0) AS ZZEAN_TERUG ,
(NVL(ZZEAN_VERBR_HG, 0) + NVL(ZZEAN_VERBR_LG, 0)) - (NVL(ZZEAN_TERUG_HG, 0) + NVL(ZZEAN_TERUG_LG, 0)) AS ZZEAN_VERBR_TOTAAL
FROM ANALYSE_PMN.DTE_PERIODE ,
OWNER_OSP.OSP_EVER EVER
JOIN OWNER_OSP.OSP_EANL EANL
ON EANL.ANLAGE = EVER.ANLAGE
JOIN OWNER_OSP.OSP_EANLH EANLH
ON EANLH.ANLAGE = EVER.ANLAGE
JOIN OWNER_OSP.OSP_FKKVKP FKKVKP
ON EVER.VKONTO = FKKVKP.VKONT
JOIN OWNER_OSP.OSP_BUT000 BUT000
ON BUT000.PARTNER = FKKVKP.GPART
WHERE EANL.SPARTE IN ( 'E' ,
'G' )
AND TO_CHAR(EVER.EINZDAT, 'YYYYMMDD') < SUBSTR(DTE_PERIODE.PERIODE, 1, 6)
|| SUBSTR(EANLH.ABLEINH, 4, 2)
AND EVER.AUSZDAT = '9999-12-31'
AND TO_DATE(DTE_PERIODE.PERIODE
|| SUBSTR(EANLH.ABLEINH, 4, 2), 'YYYYMMDD') BETWEEN EANLH.AB AND EANLH.BIS
AND EANL.BEGRU = 'R'
AND EANLH.ABLEINH LIKE 'C%'
AND SUBSTR(DTE_PERIODE.PERIODE, 5, 2) = SUBSTR(EANLH.ABLEINH, 2, 2)
) ;
您的某些列没有 AS 子句。 你能试试这个吗:
CREATE OR REPLACE TABLE ANALYSE_PMN.DTE_INSTALL_WFM AS
(
SELECT BUT000.PARTNER AS ZPARTNER ,
BUT000.BPKIND AS SRT ,
FKKVKP.KTOKL AS REKENINGKLASSE ,
EVER.VKONTO AS CONTRACTREKENING ,
EVER.VERTRAG AS CONTRACT ,
TO_CHAR(EVER.EINZDAT, 'YYYYMMDD') AS INHUISDATUM ,
TO_CHAR(EVER.AUSZDAT, 'YYYYMMDD') AS UITHUISDATUM ,
EANL.ANLAGE AS AANSLUITING ,
EANL.SPARTE AS PRODUCT ,
EANLH.ABLEINH AS PORTIE ,
TO_CHAR(EANLH.AB, 'YYYYMMDD') AS VANAF ,
TO_CHAR(EANLH.BIS, 'YYYYMMDD') AS TOT ,
SUBSTR(EANLH.ABLEINH, 2, 4) AS PORTIE_MMDD ,
DTE_PERIODE.PERIODE AS GEPL_AFR_YYYYMM ,
DTE_PERIODE.PERIODE|| SUBSTR(EANLH.ABLEINH, 4, 2) AS GEPL_AFR_YYYYMMDD ,
NVL(ZZEAN_VERBR_HG, 0) AS ZZEAN_VERBR_HG,
NVL(ZZEAN_VERBR_LG, 0) AS ZZEAN_VERBR_LG,
NVL(ZZEAN_VERBR_HG, 0) + NVL(ZZEAN_VERBR_LG, 0) AS ZZEAN_VERBR ,
NVL(ZZEAN_TERUG_HG, 0) AS ZZEAN_TERUG_HG,
NVL(ZZEAN_TERUG_LG, 0) AS ZZEAN_TERUG_LG,
NVL(ZZEAN_TERUG_HG, 0) + NVL(ZZEAN_TERUG_LG, 0) AS ZZEAN_TERUG ,
(NVL(ZZEAN_VERBR_HG, 0) + NVL(ZZEAN_VERBR_LG, 0)) - (NVL(ZZEAN_TERUG_HG, 0) + NVL(ZZEAN_TERUG_LG, 0)) AS ZZEAN_VERBR_TOTAAL
FROM ANALYSE_PMN.DTE_PERIODE ,
OWNER_OSP.OSP_EVER EVER
JOIN OWNER_OSP.OSP_EANL EANL
ON EANL.ANLAGE = EVER.ANLAGE
JOIN OWNER_OSP.OSP_EANLH EANLH
ON EANLH.ANLAGE = EVER.ANLAGE
JOIN OWNER_OSP.OSP_FKKVKP FKKVKP
ON EVER.VKONTO = FKKVKP.VKONT
JOIN OWNER_OSP.OSP_BUT000 BUT000
ON BUT000.PARTNER = FKKVKP.GPART
WHERE EANL.SPARTE IN ( 'E' ,
'G' )
AND TO_CHAR(EVER.EINZDAT, 'YYYYMMDD') < SUBSTR(DTE_PERIODE.PERIODE, 1, 6)
|| SUBSTR(EANLH.ABLEINH, 4, 2)
AND EVER.AUSZDAT = '9999-12-31'
AND TO_DATE(DTE_PERIODE.PERIODE
|| SUBSTR(EANLH.ABLEINH, 4, 2), 'YYYYMMDD') BETWEEN EANLH.AB AND EANLH.BIS
AND EANL.BEGRU = 'R'
AND EANLH.ABLEINH LIKE 'C%'
AND SUBSTR(DTE_PERIODE.PERIODE, 5, 2) = SUBSTR(EANLH.ABLEINH, 2, 2)
) ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.