当前位置: 代码迷 >> Sql Server >> 这个存储过程哪错了,该如何解决
  详细解决方案

这个存储过程哪错了,该如何解决

热度:184   发布时间:2016-04-27 14:05:58.0
这个存储过程哪错了
CREATE proc 成本卡_进料汇总统计
@开始日期 nvarchar(50),
@结束日期 nvarchar(50)
as
SELECT 原料编号,名称,sum(数量) 数量,sum(金额) as 金额 FROM
(
select 原料_seq as 原料编号,产品名称_1 as 名称,sum(数量) 数量,sum(数量*单位_seq) as 金额,C_库存明细.原料批号 from C_库存明细历史库,产品单价级别表,产品表 
where 交易_seq in( select 单据_seq from C_进料单据 where 盘点单据=0 and 状态=2) 
and 明细类型=0 and 原料_seq=mi_price_seq and 产品单价级别表.产品_ID=产品表.产品_ID 
and convert(varchar(10),C_库存明细历史库.日结日期,23)>[email protected] and convert(varchar(10),C_库存明细历史库.日结日期,23)<[email protected]
group by 原料_seq,产品名称_1,原料批号
union all 
select 原料_seq as 原料编号,产品名称_1 as 名称,sum(数量) 数量,sum(数量*单位_seq) as 金额,C_库存明细.原料批号 from C_库存明细,产品单价级别表,产品表 
where 交易_seq in( select 单据_seq from C_进料单据 where 盘点单据=0 and 状态=1) 
and 明细类型=0 and 原料_seq=mi_price_seq and 产品单价级别表.产品_ID=产品表.产品_ID 
and convert(varchar(10),C_库存明细.日结日期,23)>[email protected] and convert(varchar(10),C_库存明细.日结日期,23)<[email protected]
group by 原料_seq,产品名称_1,原料批号
) A GROUP BY 原料编号,名称,原料批号 ORDER BY 原料编号

GO


------解决方案--------------------
探讨
CREATE proc 成本卡_进料汇总统计
@开始日期 nvarchar(50),
@结束日期 nvarchar(50)
as
SELECT 原料编号,名称,sum(数量) 数量,sum(金额) as 金额 FROM
(
select 原料_seq as 原料编号,产品名称_1 as 名称,sum(数量) 数量,sum(数量*单位_seq) as 金额,C_库存明细.原料批号 fr……

------解决方案--------------------
LZ把存储运行的错误贴出来比较好,这样难得看
------解决方案--------------------
SQL code
select 原料_seq as 原料编号,产品名称_1 as 名称,sum(数量) 数量,sum(数量*单位_seq) as 金额,C_库存明细.原料批号 from C_库存明细历史库,产品单价级别表,产品表  where 交易_seq in( select 单据_seq from C_进料单据 where 盘点单据=0 and 状态=2)  and 明细类型=0 and 原料_seq=mi_price_seq and 产品单价级别表.产品_ID=产品表.产品_ID  and convert(varchar(10),C_库存明细历史库.日结日期,23)>[email protected] and convert(varchar(10),C_库存明细历史库.日结日期,23)<[email protected][color=#FF0000]group by 原料_seq,产品名称_1,原料批号[/color]
------解决方案--------------------
C_库存明细.原料批号,这个要在group by 字句里指明。
------解决方案--------------------
探讨

错误107:列前缀'C_库存明细'与查询中所用的表明或别名不匹配

------解决方案--------------------
探讨

为什么把里面所有的原料批号改成C_库存明细.原料批号,就会报错啊

------解决方案--------------------
group by 的时候,列名要对应一致。
------解决方案--------------------
union all 列名要一致
  相关解决方案