0

以下のSQLステートメントを実行しようとしていますが、以下のメッセージが表示されます

列プレフィックス'timInvtTran'が、クエリで使用されているテーブル名またはエイリアス名と一致しません。

基本的に私がやろうとしているのは、各在庫トランザクションの後に結果の手持ち数量(QOH)を取得することです。これに対する仮定は、TranQtyを合計すると、結果のQOHが得られるということです。データをループして、TranQtyの現在の合計を追加しようとしています。これは、定義上、QOHになります。QOH変数に@currQOHという名前を付けました。

問題がSETステートメントに起因していることはわかっていますが、なぜ発生しているのか理解できません。

ちなみに、TranQtyの現在の合計を取得するための正しい道を進んでいますか?DBに書き込みたくないので、現在の合計に対して新しいテーブルを作成したくありません。私は高低を調べましたが、何も見つかりませんでした。

少しでも助けていただければ幸いです。

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 に答える