表格的列结构如下:
tbl_PIVD = pivID | prodID | Qty | ScaleID
tbl_GRN = gID | pivID
tbl_GRND = grndID | gID | prodID | Qty | ScaleID
tbl_prod = prodID | ScaleID(SIunit)
问题:获取数量(数量)及其差异待定=
ConvertScale(tbl_PIVD.Qty, tbl_PIVD.ScaleID, tbl_prodID.ScaleID ) -
ConvertScale(tbl_GRND.Qty, tbl_GRND.ScaleID, tbl_prodID.ScaleID )
来自tbl_PIVD
和tbl_GRND
表的 tbl_PIVD.pivID
= tbl_GRN.pivID
和tbl_PIVD.prodID
= tbl_GRND.prodID
。
在使两个刻度相等之后进行减法,使用函数ConvertScale
转换刻度如何加入以下查询
SELECT PID.Qty, GRND.Qty FROM tbl_PIVD PID INNER
JOIN tbl_GRND GRND on
PID.prodId = GRND.prodId
SELECT * FROM tbl_PIVD PID INNER JOIN
tbl_GRN GRN ON PID.pivId = GRN.pivID
GRN.pivID=10609
答案 0 :(得分:0)
我希望以下查询有用。
SELECT ConvertScale(PD.Qty, PD.ScaleID, P.ScaleID) -
ConvertScale(GD.Qty, GD.ScaleID, P.ScaleID) as 'PendingQty'
FROM tbl_PIVD PD
INNER JOIN tbl_Prod P ON PD.ProdID = P.ProdID
INNER JOIN tbl_GRN G ON PD.pivID = G.pivID
INNER JOIN tbl_GRND GD ON G.gID = GD.gID AND PD.prodID = GD.prodID