0

我正在尝试运行以下 SQL 语句并收到以下消息

列前缀“timInvtTran”与查询中使用的表名或别名不匹配。

基本上我想要做的是在每次库存交易后获得最终的手头数量(QOH)。对此的一个假设是,当对 TranQty 求和时,您将得到结果 QOH。我正在尝试循环数据并添加 TranQty 的运行总数,根据定义,这将是 QOH。我将我的 QOH 变量命名为 @currQOH 。

我知道问题出在我的 SET 语句中,但我不知道为什么会这样。

作为旁注,我是否走在正确的道路上以获取 TranQty 的运行总数?我不想写入数据库,所以我不想为我的运行总计创建新表。我研究了高低,找不到任何东西。

任何帮助将不胜感激。

DECLARE @currQOH INT
SET @currQOH=0

WHILE(  Select ItemKey  from timInvtTran) = 41511
BEGIN
    SET @currQOH = @currQOH + timInvtTran.TranQty
    BREAK

END

select @currQOH, ItemKey, TranID
from timInvtTran
where timInvtTran.ItemKey = 41511  and substring(tranid,12,2) <>'SH'
order by timinvttran.createdate desc

顺便说一句,PI 日快乐!

4

1 回答 1

0

试试这个

DECLARE @currQOH INT
SET @currQOH= ( select sum(TranQty) from timInvtTran where ItemKey   = 41511 )

select @currQOH, ItemKey, TranID
from timInvtTran
where timInvtTran.ItemKey = 41511  and substring(tranid,12,2) <>'SH'
order by timInvttran.createdate desc

注意最后一行的大小写变化:timinvttran -> timInvttran

于 2013-03-14T16:49:55.090 回答