在嵌套的sql命令中加入错误 - 水晶报告

时间:2014-10-28 19:57:01

标签: sql crystal-reports

我在下面有这个代码,但是我一直收到一条错误,说A为A指定了多次A_NUM。

SELECT Alleg,
       CASE 
             WHEN ALLEGCU LIKE '%F%' 
             OR ALLEGCU LIKE'%A%' THEN 'EF'
             ELSE ALLEGCU
         END,
         ALLEGCU
FROM

(SELECT *, CASE
    WHEN ISNUMERIC(SUBSTRING(LTRIM(RTRIM(ALL)), 1,1)) = 0
    THEN UPPER(LTRIM(RTRIM(SUBSTRING(ALL, CHARINDEX(' ', ALL)+1, LEN(ALL)
       - CHARINDEX(' ', ALL)))))
 ELSE ALL
                       END ALLEGCU

FROM ASSI_O 
      LEFT OUTER JOIN ALLS
      ON ASSI_O.A_NUM = ALLS.A_NUM ) A

1 个答案:

答案 0 :(得分:1)

A_NUMASSI_O中都存在

ALLS列,并且您在进行加入时正在执行SELECT *

仅选择所需的列,并将表名前缀添加到列名

SELECT *更改为SELECT ASSI_O.A_NUM as ASSI_NUM, ALLS.A_NUM as ALLS_ANUM可以解决问题

SELECT ASSI_O.A_NUM as ASSI_NUM, ALLS.A_NUM as ALLS_ANUM ...