诡异的问题,大神帮忙

SQL语句如下
SQL code

SELECT  
SUM(VW_LSXHMX.SL*ISNULL(VW_LSXHMX.DJ_3,0) )  AS CBJE 
FROM [color=#FF0000](
select DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,
SUM(SL) AS SL,SUM(SL*CKJ) AS BZJE,sum(JE) AS JE,sum(BYZD9) AS BYZD9,LX from VW_LSXHMX_A  GROUP 
BY DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,LX )[/color] VW_LSXHMX left outer join (select distinct LSDJBH,RQ,SPDM,DM1,sum(SL) as SL,sum(JE) as 
JE,SUM(JE_2) AS JE_2 from VW_SDJSD where VW_SDJSD.JZ='1' GROUP BY  LSDJBH,RQ,SPDM,DM1) 
VW_SDJSD  on  VW_LSXHMX.DJBH=VW_SDJSD.LSDJBH AND VW_LSXHMX.SPDM=VW_SDJSD.SPDM AND
 VW_LSXHMX.DM1=VW_SDJSD.DM1,SHANGPIN,KEHU,DANWEI,FJSX1,FJSX2,FJSX3,FJSX4  WHERE 
VW_LSXHMX.SPDM=SHANGPIN.SPDM AND VW_LSXHMX.DM1=KEHU.KHDM AND SHANGPIN.DWMC = 
DANWEI.DWDM  AND SHANGPIN.FJSX1=FJSX1.SXDM AND SHANGPIN.FJSX2=FJSX2.SXDM AND 
SHANGPIN.FJSX3=FJSX3.SXDM AND SHANGPIN.FJSX4=FJSX4.SXDM  [color=#FFFF00]AND ((VW_LSXHMX.LX = '0') ) [/color]GROUP BY KEHU.KHDM,KEHU.KHMC,KEHU.BYZD8


运行后,提示我列名DJ_3无效。
当我把(
select DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,
SUM(SL) AS SL,SUM(SL*CKJ) AS BZJE,sum(JE) AS JE,sum(BYZD9) AS BYZD9,LX from VW_LSXHMX_A GROUP
BY DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,LX )这句话删除了之后,提示我列名LX无效,然后我也把这句话删除了AND ((VW_LSXHMX.LX = '0') )
我想请问,是什么原因造成列名无效的
我该怎么改,才能让他有效

作者: w63516227   发布时间: 2011-06-15

不符合命名规则?

作者: mingpei0703   发布时间: 2011-06-15

SQL code

SELECT  
SUM(VW_LSXHMX.SL*ISNULL(VW_LSXHMX.DJ_3,0) )  AS CBJE 
FROM (
    select DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,
        SUM(SL) AS SL,SUM(SL*CKJ) AS BZJE,sum(JE) AS JE,sum(BYZD9) AS BYZD9,LX 
     --你这里没有select到别名DJ_3,所以最上边的列DJ_3是无效的! 仔细看看其他的吧!
    from VW_LSXHMX_A  
    GROUP BY DJXZ,DJMC,DJBH,RQ,YSRQ,JZRQ,DM1,DM2,QDDM,YGDM,YS,JZ,JS,ZDR,YSR,JZR,JSR,BZ,SPDM,LX ) VW_LSXHMX 
    left outer join 
    (select distinct LSDJBH,RQ,SPDM,DM1,sum(SL) as SL,sum(JE) as 
        JE,SUM(JE_2) AS JE_2 
    from VW_SDJSD where VW_SDJSD.JZ='1' 
    GROUP BY  LSDJBH,RQ,SPDM,DM1) VW_SDJSD  
    on  VW_LSXHMX.DJBH=VW_SDJSD.LSDJBH AND VW_LSXHMX.SPDM=VW_SDJSD.SPDM AND
        VW_LSXHMX.DM1=VW_SDJSD.DM1,SHANGPIN,KEHU,DANWEI,FJSX1,FJSX2,FJSX3,FJSX4  
WHERE VW_LSXHMX.SPDM=SHANGPIN.SPDM AND VW_LSXHMX.DM1=KEHU.KHDM AND SHANGPIN.DWMC = 
    DANWEI.DWDM  AND SHANGPIN.FJSX1=FJSX1.SXDM AND SHANGPIN.FJSX2=FJSX2.SXDM AND 
    SHANGPIN.FJSX3=FJSX3.SXDM AND SHANGPIN.FJSX4=FJSX4.SXDM  [color=#FFFF00]AND ((VW_LSXHMX.LX = '0') )

作者: AcHerat   发布时间: 2011-06-15

没有给你的临时表加别名?。。。。

作者: zy112429   发布时间: 2011-06-15