2017-08-24 3 views
0
select Pending = PD.Qty - (select sum(GRND.Qty) 
from tbl_GRN GRN inner join tbl_GRND GRND on 
GRN.grnId = GRND.grnId where GRN.pivID=PD.pivID and GRND.prodId=PD.prodId) 
from tbl_PD PD where PD.pivId=10609 

ハイ、私たちは株式保守プロジェクトを開発しています。 上記は、私が製品の保留数量を取得するために使用するクエリです。クエリは必要な結果を与えています。しかし、PD.QtyとGRND.Qtyは異なる規模(単位)である可能性があります。そこで、スケールを変換するベクトル関数ConvertScaleを使用しています。そのパラメータはConvertScale(@Qty, @InputScale, @OutputScale)で、OutputScaleの値に数量を返します。クエリで行うことが私に変化を教えてくださいSQLのsclar値関数

ConvertScale(@GRND.Qty, @GRND.ScaleID, @PD.ScaleID) 

を追加する

+1

使用しているdbmsにタグを付けてください。 (そのコードは製品固有のものです) – jarlh

+0

[DBMS](https://en.wikipedia.org/wiki/DBMS)はどちらを使用していますか? Postgres?オラクル? –

答えて

0

@のプレフィックスを付けないでください。あなたがクエリの後に来たと思います。

select Pending = PD.Qty - 
    (select sum(ConvertScale(GRND.Qty, GRND.ScaleID, PD.ScaleID)) 
    from tbl_GRN GRN 
    inner join tbl_GRND GRND on GRN.grnId = GRND.grnId 
    where GRN.pivID=PD.pivID and GRND.prodId=PD.prodId) 
from tbl_PD PD where PD.pivId=10609