125 lines
5.7 KiB
SQL
125 lines
5.7 KiB
SQL
--v1.0 --最终
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
|
,(CASE t0e_lk.FSTABLENAME
|
|
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1e.FPRICE --其他出库(退货)-成本价
|
|
WHEN 'T_STK_INSTOCKENTRY' THEN t2e.FPRICE --采购入库 -单价(不含税)
|
|
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN (CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t3e.FReferPrice) END) --分步式调入 -参考单价
|
|
ELSE 0
|
|
END) AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FReferAmount
|
|
,(CASE t0e_lk.FSTABLENAME
|
|
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FBILLNO
|
|
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FBILLNO
|
|
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FBILLNO
|
|
ELSE ''
|
|
END) AS '上游单据'
|
|
,t0e_lk.FSTABLENAME
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
|
|
LEFT JOIN T_STK_MISDELIVERYENTRY t1e
|
|
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY') --其他出库(退货)
|
|
INNER JOIN T_STK_MISDELIVERY t1 on t0e_lk.FSBILLID = t1.FID
|
|
LEFT JOIN T_STK_INSTOCKENTRY_F t2e
|
|
on (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY') --采购入库
|
|
INNER JOIN T_STK_INSTOCK t2 on t0e_lk.FSBILLID = t2.FID
|
|
LEFT JOIN T_STK_STKTRANSFERINENTRY t3e
|
|
on (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1') --分步式调入
|
|
INNER JOIN T_STK_STKTRANSFERIN t3 on t0e_lk.FSBILLID = t3.FID
|
|
WHERE t0.FSTOCKORGID = 101542
|
|
AND t0e_lk.FSTABLENAME IN ('T_STK_STKTRANSFERINENTRY1','T_STK_INSTOCKENTRY' ,'T_STK_MISDELIVERYENTRY')
|
|
|
|
--v2.0
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
|
,(CASE
|
|
WHEN t1.LinkId IS NOT NULL THEN t1.FPRICE --其他出库(退货)-成本价
|
|
WHEN t2.LinkId IS NOT NULL THEN t2.FPRICE --采购入库 -单价(不含税)
|
|
WHEN t3.LinkId IS NOT NULL THEN t3.FPRICE --分步式调入 -参考单价
|
|
ELSE 0
|
|
END) AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FReferAmount
|
|
,(CASE WHEN t1.LinkId is not null THEN t1.FBILLNO
|
|
WHEN t2.LinkId is not null THEN t2.FBILLNO
|
|
WHEN t3.LinkId is not null THEN t3.FBILLNO
|
|
ELSE ''
|
|
END) AS '上游单据'
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
|
|
LEFT JOIN (
|
|
SELECT t1.FBILLNO,t1e.FPRICE,t0e_lk.FENTRYID AS LinkId,t0e_lk.FSTABLENAME
|
|
FROM T_STK_MISDELIVERY t1 --其他出库(退货)
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY'
|
|
) t1 on t1.LinkId = t0e.FENTRYID
|
|
LEFT JOIN (
|
|
SELECT t2.FBILLNO,t2e.FPRICE,t0e_lk.FENTRYID AS LinkId,t0e_lk.FSTABLENAME
|
|
FROM T_STK_INSTOCK t2 --采购入库
|
|
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2e.FID = t2.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY'
|
|
) t2 on t2.LinkId = t0e.FENTRYID
|
|
LEFT JOIN (
|
|
SELECT t3.FBILLNO
|
|
,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t3e.FReferPrice) END) AS 'FPRICE'
|
|
,t0e_lk.FENTRYID AS LinkId
|
|
,t0e_lk.FSTABLENAME
|
|
FROM T_STK_STKTRANSFERIN t3 --分步式调入
|
|
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1'
|
|
) t3 on t3.LinkId = t0e.FENTRYID
|
|
WHERE t0.FSTOCKORGID = 101542
|
|
--v3.0
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
|
,t1e.FPRICE AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FReferAmount
|
|
,t0e_lk.FSTABLENAME
|
|
,t1.FBILLNO
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY'
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t1e
|
|
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --其他出库(退货)
|
|
INNER JOIN T_STK_MISDELIVERY t1 on t0e_lk.FSBILLID = t1.FID
|
|
WHERE t0.FSTOCKORGID = 101542
|
|
|
|
UNION ALL
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
|
,t1e.FPRICE AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FReferAmount
|
|
,t0e_lk.FSTABLENAME
|
|
,t1.FBILLNO
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY'
|
|
INNER JOIN T_STK_INSTOCKENTRY_F t1e
|
|
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --其他出库(退货)
|
|
INNER JOIN T_STK_INSTOCK t1 on t0e_lk.FSBILLID = t1.FID
|
|
WHERE t0.FSTOCKORGID = 101542
|
|
|
|
UNION ALL
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID
|
|
,(CASE LTRIM(RTRIM(t1e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,2) ,t1e.FReferPrice) END) AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FReferAmount
|
|
,t0e_lk.FSTABLENAME
|
|
,t1.FBILLNO
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1'
|
|
INNER JOIN T_STK_STKTRANSFERINENTRY t1e
|
|
on (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID) --其他出库(退货)
|
|
INNER JOIN T_STK_STKTRANSFERIN t1 on t0e_lk.FSBILLID = t1.FID
|
|
WHERE t0.FSTOCKORGID = 101542
|
|
/***********物料维度关联查询start**********/
|
|
--SELECT t0.FNUMBER,t0.FMATERIALID,t0i.FINVPTYID
|
|
--FROM T_BD_MATERIAL t0
|
|
-- INNER JOIN T_BD_MATERIALINVPTY t0i
|
|
-- on t0.FMATERIALID = t0i.FMATERIALID
|
|
-- AND t0i.FINVPTYID = 10001
|
|
-- AND t0i.FISAFFECTCOST = 1
|
|
--WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
|
|
/***********物料维度关联查询end**********/ |