请帮忙分析这条SQL语句为什么会执行不了。(20分)

  • 主题发起人 主题发起人 d_delphi
  • 开始时间 开始时间
D

d_delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
SELECT ta1.物料编号,单位,SUM(sum1-sum2+sum3) sum7,sum4,sum5,sum6,SUM(sum1-sum2+sum3+sum4-sum5+sum6) sum8,单价,SUM((sum4-sum5+sum6)*单价) sum9 FROM 物料资料 ta1 left JOIN (SELECT isnull(sum(数量),0) sum1,物料编号 FROM 入成品主 INNER JOIN 入成品从 on (入成品主.入库单号=入成品从.入库单号1) group by 物料编号)ta2 on ta1.物料编号=ta2.物料编号
left JOIN (SELECT isnull(sum(数量),0) sum2,物料编号 FROM 送成品主 INNER JOIN 送成品从 ON (送货单号=送货单号1) group by 物料编号)tb2 on ta1.物料编号=tb2.物料编号
left JOIN (SELECT isnull(sum(数量),0) sum3,物料编号 FROM 报损单主 INNER JOIN 报损单从 ON (报损单号=报损单号1) group by 物料编号)tb3 on ta1.物料编号=tb3.物料编号
left JOIN (SELECT isnull(sum(数量),0) sum4,物料编号 FROM 入成品主 INNER JOIN 入成品从 ON (入库单号=入库单号1) group by 物料编号)tb4 on ta1.物料编号=tb4.物料编号
left JOIN (SELECT isnull(sum(数量),0) sum5,物料编号 FROM 送成品主 INNER JOIN 送成品从 ON (送货单号=送货单号1) group by 物料编号)tb5 on ta1.物料编号=tb5.物料编号
left JOIN (SELECT isnull(sum(数量),0) sum6,物料编号 FROM 报损单主 INNER JOIN 报损单从 ON (报损单号=报损单号1) group by 物料编号)tb6 on ta1.物料编号=tb6.物料编号
group by ta1.物料编号,物料规格,单位,sum4,sum5,sum6,单价,备注
如果把上面的SUM(sum1-sum2+sum3) sum7,SUM(sum1-sum2+sum3+sum4-sum5+sum6) sum8,SUM((sum4-sum5+sum6)*单价) sum9,去掉就可以正常执行,为什么,怎么样做才可以?
 
不用sum了,直接就可以了SUM(sum1-sum2+sum3) sum7
(sum1-sum2+sum3) sum7
 
把:
SUM(sum1-sum2+sum3) sum7,SUM(sum1-sum2+sum3+sum4-sum5+sum6) sum8,SUM((sum4-sum5+sum6)*单价) sum9,
改为:
(SUM(sum1)-SUM(sum2)+SUM(sum3)) sum7,
后面的你照此改写即可。
 
按照楼上两位的去做,还是不行,请大家多多提建议。
 
出现这样的错误:
[Error] Unit34.pas(97): String literals may have at most 255 elements
请帮忙分析;
 
Error] Unit34.pas(97): String literals may have at most 255 elements
你在一行中写的太多了,分行写;

或者用嵌套查询吧,把SUM(sum1-sum2+sum3)
括号中的东西写成一个查询语句
例如 select sum(sum0) form (select sum(1)-sum(2)+sum(3) as sum0 from)
 
satement too long
 
我的天那,你把第一行换行行不行,一行都282 个字符了,别超过255个
你去掉 sum9 正好是252个字符
请从 left join 处换行 如下:
SELECT ta1.物料编号,单位,SUM(sum1-sum2+sum3) sum7,sum4,sum5,sum6,SUM(sum1-sum2+sum3+sum4-sum5+sum6) sum8,单价,SUM((sum4-sum5+sum6)*单价) sum9 FROM 物料资料 ta1
left JOIN (SELECT isnull(sum(数量),0) sum1,物料编号 FROM 入成品主 INNER JOIN 入成品从 on (入成品主.入库单号=入成品从.入库单号1) group by 物料编号)ta2 on ta1.物料编号=ta2.物料编号

OK
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
948
import
I
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部