诡异的问题,大神帮忙

w63516227 2011-06-15 10:51:33
SQL语句如下

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 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 AND ((VW_LSXHMX.LX = '0') ) 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') )
我想请问,是什么原因造成列名无效的
我该怎么改,才能让他有效
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
w63516227 2011-06-15
  • 打赏
  • 举报
回复
那我更不明白了。我查询的是VW_LSXHMX.DJ_3
和VW_LSXHMX_A.DJ_3有关系?
GoAwayZ 2011-06-15
  • 打赏
  • 举报
回复
没有给你的临时表加别名?。。。。
AcHerat 2011-06-15
  • 打赏
  • 举报
回复

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') )
mingpei0703 2011-06-15
  • 打赏
  • 举报
回复
不符合命名规则?
唐诗三百首 2011-06-15
  • 打赏
  • 举报
回复
顶AcHerat,其实问题很简单不诡异.
AcHerat 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 w63516227 的回复:]
那我更不明白了。我查询的是VW_LSXHMX.DJ_3
和VW_LSXHMX_A.DJ_3有关系?
[/Quote]


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 -- 里面的select的所有列就是VM_LSXHMX的列名,你看看你括号里查询有那个列没!!!
唐诗三百首 2011-06-15
  • 打赏
  • 举报
回复
楼主在子查询时未提供[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

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧