これらのクエリの 1 つが機能し、もう 1 つが機能しないのはなぜですか? 私は作業クエリを作成し、テーブルを一時的に作成しました。一時テーブルを外側に配置するように書き直す必要があります。
これはテーブルのデータです:
tmpTASItemQtyInventDim:
|アイテム ID | InventDimId | 発明数量 | |-------|--------------|-----------| |73016 | 薄暗い 11542913 | 0 |
セールスライン:
|セールス ID |ライン番号 | アイテム ID | InventDimId | 販売数量 | |------------|--------|--------|--------------|--- --------| |SO120036796 | 1| 73016 | 薄暗い 11542913 | 2 |
動作しません:
select firstonly tmpTASItemQtyInventDim
join itemId, InventDimId, sum(salesQty) from salesLine
group by itemId, InventDimId
where salesLine.SalesId == 'SO120036796' &&
tmpTASItemQtyInventDim.ItemId == salesLine.ItemId &&
tmpTASItemQtyInventDim.InventDimId == salesLine.InventDimId &&
tmpTASItemQtyInventDim.InventQty < salesLine.SalesQty;
if (tmpTASItemQtyInventDim.ItemId)
info("Insufficient Qty");
else
info("Good qty");
作品:
select firstonly itemId, InventDimId, sum(salesQty) from salesLine
group by itemId, InventDimId
where salesLine.SalesId == 'SO120036796'
exists join tmpTASItemQtyInventDim
where tmpTASItemQtyInventDim.ItemId == salesLine.ItemId &&
tmpTASItemQtyInventDim.InventDimId == salesLine.InventDimId &&
tmpTASItemQtyInventDim.InventQty < salesLine.SalesQty;
if (salesLine.ItemId)
info("Insufficient Qty");
else
info("Good Qty");
どちらも を出力するはずInsufficient Qty
ですが、最初は と表示されGood Qty
ます。