PB11.5 如果有子查询,传入中文参数,失效
//去掉这两行,输入中文查询是OK的,加上这两行输入中文参数查询出来的数据就乱了,不清楚什么原因
ISNULL((SELECT SUM(M.REAL_QTY - M.REF_RECEIVE_QTY) FROM T_SAL_SSO_HZB M
WHERE M.STATUS <> '9' AND M.REAL_QTY <> M.REF_RECEIVE_QTY AND A.CODE = M.ITEM_CODE AND C.YS_CODE = M.YS_CODE),0) AS SSO_QTY,
ISNULL( (SELECT SUM(REF_STOCK_QTY - REF_RECEIVE_QTY) FROM T_SAL_SSO_HZB M
WHERE M.STATUS <> '9' AND M.IS_DZ = 'Y' AND REF_STOCK_QTY <> REF_RECEIVE_QTY AND A.CODE = M.ITEM_CODE AND C.YS_CODE = M.YS_CODE),0) AS SC_QTY
//原SQL语句
SELECT A.CATEGORY_CODE AS CATEGORY_CODE,
A.CODE AS ITEM_CODE,
A.NAME AS ITEM_NAME,
A.SIZE AS ITEM_SIZE,
A.UNIT_CODE AS UNIT_CODE,
A.PROPERTY AS ITEM_PROPER,
C.YS_CODE AS YS_CODE,
ISNULL(SUM(DISTINCT B.STOCK_QTY),0) AS STOCK_QTY,
ISNULL((SELECT SUM(M.REAL_QTY - M.REF_RECEIVE_QTY) FROM T_SAL_SSO_HZB M
WHERE M.STATUS <> '9' AND M.REAL_QTY <> M.REF_RECEIVE_QTY AND A.CODE = M.ITEM_CODE AND C.YS_CODE = M.YS_CODE),0) AS SSO_QTY,
ISNULL( (SELECT SUM(REF_STOCK_QTY - REF_RECEIVE_QTY) FROM T_SAL_SSO_HZB M
WHERE M.STATUS <> '9' AND M.IS_DZ = 'Y' AND REF_STOCK_QTY <> REF_RECEIVE_QTY AND A.CODE = M.ITEM_CODE AND C.YS_CODE = M.YS_CODE),0) AS SC_QTY
FROM T_BD_ITEM A
LEFT OUTER JOIN T_BD_ITEM_YS C ON A.CODE = C.ITEM_CODE
LEFT OUTER JOIN T_BD_ITEM_STOCK B ON A.CODE = B.ITEM_CODE AND ISNULL(C.YS_CODE,'') = ISNULL(B.YS_CODE,'')
LEFT OUTER JOIN T_BD_WAREHOUSE D ON B.STOCK_CODE = D.CODE
LEFT OUTER JOIN T_BD_WAREHOUSE_USER E ON D.CODE = ISNULL(E.CODE,'')
WHERE ISNULL(B.STOCK_CODE,'') LIKE :as_stock_code
AND ISNULL(D.CLYS,'') LIKE :as_clys
AND (A.CODE LIKE '%'+:as_item_code+'%' OR A.NAME LIKE '%'+:as_item_code+'%' OR A.SIZE LIKE '%'+:as_item_code+'%')
AND A.CATEGORY_CODE LIKE :as_category_code + '%'
AND A.PROPERTY LIKE :as_item_proper
AND ISNULL(E.YGBH,'') LIKE :as_ygbh
GROUP BY A.CATEGORY_CODE,A.CODE,A.NAME,A.SIZE,A.UNIT_CODE,C.YS_CODE,A.PROPERTY
ORDER BY A.CATEGORY_CODE,A.CODE