2024-05-15 13:56:09 +08:00
|
|
|
--WO2405090020
|
2024-07-16 10:33:50 +08:00
|
|
|
;WITH #TABLE0 AS (
|
|
|
|
|
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID
|
|
|
|
|
,SUM(t1e.FAMOUNT) FAMOUNT,t1e.FMOENTRYID
|
|
|
|
|
FROM T_PRD_PICKMTRLDATA t1e
|
|
|
|
|
GROUP BY t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,t1e.FMOENTRYID
|
|
|
|
|
),#TABLE1 AS (
|
|
|
|
|
SELECT t0.FBILLNO,t0.FBILLTYPE,t0e.FSEQ,t0e.FMATERIALID AS TopMaterialId
|
|
|
|
|
,t1e.FLOT,t1e.FLOT_TEXT,t1e.FAMOUNT,t1e.FMATERIALID
|
|
|
|
|
,ROW_NUMBER() OVER (PARTITION BY t0e.FID,t0e.FENTRYID ORDER BY t1e.FLOT,t1e.FMATERIALID) RN
|
|
|
|
|
,CONVERT(varchar(1000),t1e.FMATERIALID) AS 'aPATH'
|
|
|
|
|
,1 lv
|
|
|
|
|
FROM T_PRD_MO t0
|
|
|
|
|
INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
|
|
|
|
|
CROSS APPLY (
|
|
|
|
|
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID
|
|
|
|
|
,SUM(t1e.FAMOUNT) FAMOUNT,t1e.FMOENTRYID
|
|
|
|
|
FROM T_PRD_PICKMTRLDATA t1e
|
|
|
|
|
WHERE t1e.FMOENTRYID = t0e.FENTRYID
|
|
|
|
|
GROUP BY t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,t1e.FMOENTRYID
|
|
|
|
|
) t1e --on t1e.FMOENTRYID = t0e.FENTRYID
|
|
|
|
|
WHERE t0.FBILLNO = 'RO2405090020'
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT t0.FBILLNO,t0.FBILLTYPE,t0e.FSEQ,tt.TopMaterialId--,t0e.FMATERIALID
|
|
|
|
|
,t1e.FLOT,t1e.FLOT_TEXT,t1e.FAMOUNT
|
|
|
|
|
,t1e.FMATERIALID
|
|
|
|
|
,ROW_NUMBER() OVER (PARTITION BY t0e.FID,t0e.FENTRYID ORDER BY t1e.FLOT,t1e.FMATERIALID) RN
|
|
|
|
|
,CONVERT(varchar(1000),CONCAT(tt.aPATH,'.',t1e.FMATERIALID)) AS 'aPATH'
|
|
|
|
|
,tt.lv + 1 lv
|
|
|
|
|
FROM #TABLE1 tt
|
|
|
|
|
INNER JOIN T_PRD_MO t0 on tt.FLOT_TEXT = t0.FBILLNO
|
|
|
|
|
INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
|
|
|
|
|
INNER JOIN #TABLE0 t1e on t0e.FENTRYID = t1e.FMOENTRYID
|
|
|
|
|
)
|
2024-05-15 13:56:09 +08:00
|
|
|
|
2024-07-16 10:33:50 +08:00
|
|
|
SELECT * FROM #TABLE1 ORDER BY aPATH
|
2024-05-15 13:56:09 +08:00
|
|
|
--SELECT * FROM T_PRD_PICKMTRLDATA
|