這段SQL有幾個問題:

  1. 在SELECT語句中,將每個CASE WHEN子句的結果命名為A.TOTAL,A.BZXZ,A.ZWJG,...,但是這些命名已經在FROM子句中使用,會導致編譯錯誤。應該將這些命名修改為不重複的名稱。

  2. 在FROM子句中,SUM_T表和GONGSI表使用了LEFT JOIN,但是缺少了ON子句來指定連接條件。應該添加ON子句來指定SUM_T表和GONGSI表之間的連接條件。

修正後的SQL應該如下:

SELECT B.SITE, A.YEAR, B.COMPANY_LEGAL, A.RD_NUM, A.SALARY_MONTH, (CASE WHEN A.TOTAL = 0 THEN '0' ELSE TO_CHAR(A.TOTAL, '9,999,999,999.9999')END ) AS TOTAL, (CASE WHEN A.BZXZ = 0 THEN '0' ELSE TO_CHAR(A.BZXZ, '9,999,999,999.9999')END ) AS BZXZ, (CASE WHEN A.ZWJG = 0 THEN '0' ELSE TO_CHAR(A.ZWJG, '9,999,999,999.9999')END ) AS ZWJG, (CASE WHEN A.JBF = 0 THEN '0' ELSE TO_CHAR(A.JBF, '9,999,999,999.9999')END ) AS JBF, (CASE WHEN A.YBJT = 0 THEN '0' ELSE TO_CHAR(A.YBJT, '9,999,999,999.9999')END ) AS YBJT, (CASE WHEN A.NZJ = 0 THEN '0' ELSE TO_CHAR(A.NZJ, '9,999,999,999.9999')END ) AS NZJ, (CASE WHEN A.SSJLJ = 0 THEN '0' ELSE TO_CHAR(A.SSJLJ, '9,999,999,999.9999')END ) AS SSJLJ, (CASE WHEN A.JJQTBXMQX = 0 THEN '0' ELSE TO_CHAR(A.JJQTBXMQX, '9,999,999,999.9999')END ) AS JJQTBXMQX, (CASE WHEN A.YGFHXJ = 0 THEN '0' ELSE TO_CHAR(A.YGFHXJ, '9,999,999,999.9999')END ) AS YGFHXJ, (CASE WHEN A.JSF = 0 THEN '0' ELSE TO_CHAR(A.JSF, '9,999,999,999.9999')END ) AS JSF, (CASE WHEN A.ZWGC = 0 THEN '0' ELSE TO_CHAR(A.ZWGC, '9,999,999,999.9999')END ) AS ZWGC, (CASE WHEN A.XRRZJLJT = 0 THEN '0' ELSE TO_CHAR(A.XRRZJLJT, '9,999,999,999.9999')END ) AS XRRZJLJT, (CASE WHEN A.QTJT = 0 THEN '0' ELSE TO_CHAR(A.QTJT, '9,999,999,999.9999')END ) AS QTJT, (CASE WHEN A.GHHDJT = 0 THEN '0' ELSE TO_CHAR(A.GHHDJT, '9,999,999,999.9999')END ) AS GHHDJT, (CASE WHEN A.ZMLJT = 0 THEN '0' ELSE TO_CHAR(A.ZMLJT, '9,999,999,999.9999')END ) AS ZMLJT, (CASE WHEN A.QYJJ = 0 THEN '0' ELSE TO_CHAR(A.QYJJ, '9,999,999,999.9999')END ) AS QYJJ, (CASE WHEN A.GWJT = 0 THEN '0' ELSE TO_CHAR(A.GWJT, '9,999,999,999.9999')END ) AS GWJT, (CASE WHEN A.HWCCSZJT = 0 THEN '0' ELSE TO_CHAR(A.HWCCSZJT, '9,999,999,999.9999')END ) AS HWCCSZJT, (CASE WHEN A.YFZE = 0 THEN '0' ELSE TO_CHAR(A.YFZE, '9,999,999,999.9999')END ) AS YFZE, (CASE WHEN A.YYSP = 0 THEN '0' ELSE TO_CHAR(A.YYSP, '9,999,999,999.9999')END ) AS YYSP, (CASE WHEN A.SYJT = 0 THEN '0' ELSE TO_CHAR(A.SYJT, '9,999,999,999.9999')END ) AS SYJT, (CASE WHEN A.CCF = 0 THEN '0' ELSE TO_CHAR(A.CCF, '9,999,999,999.9999')END ) AS CCF, (CASE WHEN A.DKHSFZW = 0 THEN '0' ELSE TO_CHAR(A.DKHSFZW, '9,999,999,999.9999')END ) AS DKHSFZW, (CASE WHEN A.DKSFJF = 0 THEN '0' ELSE TO_CHAR(A.DKSFJF, '9,999,999,999.9999')END ) AS DKSFJF, (CASE WHEN A.DKZSF = 0 THEN '0' ELSE TO_CHAR(A.DKZSF, '9,999,999,999.9999')END ) AS DKZSF, (CASE WHEN A.KJJS = 0 THEN '0' ELSE TO_CHAR(A.KJJS, '9,999,999,999.9999')END ) AS KJJS, (CASE WHEN A.GRSDS = 0 THEN '0' ELSE TO_CHAR(A.GRSDS, '9,999,999,999.9999')END ) AS GRSDS, (CASE WHEN A.KSBDJK = 0 THEN '0' ELSE TO_CHAR(A.KSBDJK, '9,999,999,999.9999')END ) AS KSBDJK, (CASE WHEN A.ZFGJJDJK = 0 THEN '0' ELSE TO_CHAR(A.ZFGJJDJK, '9,999,999,999.9999')END ) AS ZFGJJDJK, (CASE WHEN A.SFXZ = 0 THEN '0' ELSE TO_CHAR(A.SFXZ, '9,999,999,999.9999')END ) AS SFXZ, (CASE WHEN A.ZFGJJGS = 0 THEN '0' ELSE TO_CHAR(A.ZFGJJGS, '9,999,999,999.9999')END ) AS ZFGJJGS, (CASE WHEN A.WXGS = 0 THEN '0' ELSE TO_CHAR(A.WXGS, '9,999,999,999.9999')END ) AS WXGS, (CASE WHEN A.SB_YL = 0 THEN '0' ELSE TO_CHAR(A.SB_YL, '9,999,999,999.9999')END ) AS SB_YL, (CASE WHEN A.SB_YB = 0 THEN '0' ELSE TO_CHAR(A.SB_YB, '9,999,999,999.9999')END ) AS SB_YB, (CASE WHEN A.SB_SY = 0 THEN '0' ELSE TO_CHAR(A.SB_SY, '9,999,999,999.9999')END ) AS SB_SY, (CASE WHEN A.SB_GS = 0 THEN '0' ELSE TO_CHAR(A.SB_GS, '9,999,999,999.9999')END ) AS SB_GS, (CASE WHEN A.SB_SY1 = 0 THEN '0' ELSE TO_CHAR(A.SB_SY1, '9,999,999,999.9999')END ) AS SB_SY1 FROM SUM_T A LEFT JOIN GONGSI B ON A.RD_NUM = B.RD_NU

幫我分析一下這段sql哪裡有問題導致編譯不通過 SELECT BSITE AYEAR BCOMPANY_LEGAL ARD_NUM

原文地址: https://www.cveoy.top/t/topic/hN95 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录