liangjunyu 991807fccc 1
2025-12-08 19:14:42 +08:00

54 lines
2.4 KiB
SQL

SELECT t0.FBILLNO AS '销售出库单'
,t0e.FENTRYID AS '销售出库单分录ID'
,t0e.FREALQTY AS '出库数量'
,t0e_m.FNUMBER AS '销售出库物料'
,t1.FBILLNO AS '发货通知单'
,t1e.FENTRYID AS '发货通知单分录ID'
,t1e.FQTY AS '通知数量'
,t1e_m.FNUMBER AS '发货通知物料'
,t2.FBILLNO AS '销售订单'
,t2e.FENTRYID AS '销售订单分录ID'
,t2e.FQTY AS '订单数量'
,t0e_m.FNUMBER AS '销售物料'
,t3.FBILLNO AS '采购订单'
,t3e.FENTRYID AS '采购订单分录ID'
,t3e.FQTY AS '采购数量'
,ISNULL(t4.FACTRECEIVEQTY,0) AS '收料数量'
,ISNULL(t4.FREALQTY,0) '采购入库数量'
FROM T_SAL_OUTSTOCK t0
INNER JOIN T_SAL_OUTSTOCKENTRY t0e on t0e.FID = t0.FID
INNER JOIN T_BD_MATERIAL t0e_m on t0e_m.FMATERIALID = t0e.FMATERIALID
INNER JOIN T_SAL_OUTSTOCKENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
AND t0e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY'
INNER JOIN T_SAL_DELIVERYNOTICE t1 on t1.FID = t0e_lk.FSBILLID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1.FID = t1e.FID AND t0e_lk.FSBILLID = t1e.FID AND t0e_lk.FSID = t1e.FENTRYID
INNER JOIN T_BD_MATERIAL t1e_m on t1e_m.FMATERIALID = t0e.FMATERIALID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk on t1e.FENTRYID = t1e_lk.FENTRYID
AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
INNER JOIN T_SAL_ORDER t2 on t2.FID = t1e_lk.FSBILLID
INNER JOIN T_SAL_ORDERENTRY t2e on t1e_lk.FSBILLID = t2e.FID AND t1e_lk.FSID = t2e.FENTRYID
INNER JOIN T_BD_MATERIAL t2e_m on t2e_m.FMATERIALID = t0e.FMATERIALID
INNER JOIN T_SAL_ORDERENTRY_LK t2e_lk on t2e.FENTRYID = t2e_lk.FENTRYID
AND t2e_lk.FSTABLENAME = 't_PUR_POOrderEntry'
INNER JOIN T_PUR_POORDER t3 on t2e_lk.FSBILLID = t3.FID
AND t3.FBILLNO = 'XN-CGDD2025091000001'
INNER JOIN T_PUR_POORDERENTRY t3e on t3.FID = t3e.FID AND t2e_lk.FSID = t3e.FENTRYID
OUTER APPLY (
SELECT SUM(t4e.FACTRECEIVEQTY) 'FACTRECEIVEQTY',SUM(t5.FREALQTY) 'FREALQTY'
FROM T_PUR_RECEIVE t4
INNER JOIN T_PUR_RECEIVEENTRY t4e on t4e.FID = t4.FID
INNER JOIN T_PUR_RECEIVEENTRY_LK t4e_lk on t4e_lk.FENTRYID = t4e.FENTRYID
AND t4e_lk.FSTABLENAME = 'T_PUR_POORDERENTRY'
OUTER APPLY (
SELECT SUM(t5e.FREALQTY) 'FREALQTY'
FROM T_STK_INSTOCK t5
INNER JOIN T_STK_INSTOCKENTRY t5e on t5.fID = t5e.FID
INNER JOIN T_STK_INSTOCKENTRY_LK t5e_lk on t5e_lk.FENTRYID = t5e.FENTRYID
AND t5e_lk.FSTABLENAME = 'T_PUR_RECEIVEENTRY'
WHERE t5e_lk.FSBILLID = t4e.FID AND t5e_lk.FSID = t4e.FENTRYID
GROUP BY t5e_lk.FSID
) t5
WHERE t3e.FENTRYID = t4e_lk.FSID AND t3e.FID = t4e_lk.FSBILLID
GROUP BY t4e_lk.FSID
) t4