strSQL := Format('SELECT B.CustomerName,B.Pins,B.MO,B.StyleID,D.Moid,D.ColorID,D.ColorName,D.SizeName,D.MugID,D.WPID,D.WPName,A.MOQty,D.INQty, isNull(D.InWeight, 0) as InWeight, A.MOQty - isNull(D.INQty, 0) as UnQty ' +
'FROM (SELECT MOID, ColorID, ColorName, SizeName, MugID, WPID, WPName, SUM(Qty) as MOQty ' +
'FROM MO_Detail ' +
'GROUP BY MOID, ColorID, ColorName, SizeName, MugID, WPID, WPName) A INNER JOIN MO_Main B ON A.MOID = B.MOID ' +
'INNER JOIN ' +
'( ' +
'SELECT MOID,ColorID, ColorName, SizeName, MugID,WPID, WPName, SUM(Qty) as INQty, Sum() as InWeight ' +
'FROM v_AllMOIn_Detail %s ' +
'GROUP BY MOID,ColorID,ColorName, SizeName,MugID,WPID, WPName ' +
') D ON A.MOID = D.MOID and A.ColorID = D.ColorID and A.SizeName = D.SizeName '+
'and A.WPID = D.WPID %s and isNull(B.isOVER, 0) = 0 ',[InFilter, strFilter]);
MOINDataSet.Data := DataA.GetDataPacket(strSQL);
報表里面其它結果都OK,就是InWeight是為0 weight 型別為Numeric(18,3)
uj5u.com熱心網友回復:
Weight 型別為Numeric 18,3uj5u.com熱心網友回復:
Sum() as InWeight ?uj5u.com熱心網友回復:
Sum(weight) as InWeightuj5u.com熱心網友回復:
我改了其它資料型別都可以,就numeric(18, 3)資料型別不行uj5u.com熱心網友回復:
單獨搞個測驗表,設定一個numeric(18, 3)的欄位試試
應該是不是numeric(18, 3)欄位型別的問題
uj5u.com熱心網友回復:
你拆分查詢一下 是不是 isNull(D.InWeight, 0) 這個時候 InWeight的值為NULL了uj5u.com熱心網友回復:
我把欄位型別改為float 是可以的uj5u.com熱心網友回復:
最關鍵是不用ISNULL也不行
uj5u.com熱心網友回復:
路過,學習。uj5u.com熱心網友回復:
新路路過。虛心學習轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/98974.html
標籤:數據庫相關
