66 lines
3.5 KiB
MySQL
66 lines
3.5 KiB
MySQL
|
|
WITH #<23><><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT t0.FBILLNO,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE,t0.FFORECASTYEAR
|
|||
|
|
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ
|
|||
|
|
,t0e.FMONTH1 + t0e.FMONTH2 + t0e.FMONTH3 + t0e.FMONTH4 + t0e.FMONTH5 + t0e.FMONTH6 + t0e.FMONTH7 + t0e.FMONTH8 + t0e.FMONTH9 + t0e.FMONTH10 + t0e.FMONTH11 + t0e.FMONTH12 AS 'QTY'
|
|||
|
|
,DENSE_RANK() OVER (ORDER BY t0.FFORECASTYEAR DESC,t0.FBILLNO DESC,t0.FVERSIONS DESC) RN
|
|||
|
|
FROM T_PLN_FORECAST2YEAR t0
|
|||
|
|
INNER JOIN T_PLN_FORECAST2YEARENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
WHERE t0.FDOCUMENTSTATUS = 'C'
|
|||
|
|
)
|
|||
|
|
,#<23><><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ AS (
|
|||
|
|
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
FROM #<23><><EFBFBD><EFBFBD> t0
|
|||
|
|
INNER JOIN #<23><><EFBFBD><EFBFBD> t1 on t0.FFORECASTYEAR = t1.FFORECASTYEAR AND t1.RN = 2
|
|||
|
|
AND t0.FMATERIALID = t1.FMATERIALID
|
|||
|
|
WHERE t0.RN = 1
|
|||
|
|
)
|
|||
|
|
,#N_3 AS (
|
|||
|
|
SELECT t0.FBILLNO,'N+3' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE,t0.FFORECASTYEAR,t0.FFORECASTMONTH
|
|||
|
|
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ
|
|||
|
|
,t0e.FN0 + t0e.FN1 + t0e.FN2 + t0e.FN3 AS 'QTY'
|
|||
|
|
,DENSE_RANK() OVER (PARTITION BY t0.FFORECASTYEAR,t0.FFORECASTMONTH ORDER BY t0.FVERSIONS DESC) RN
|
|||
|
|
FROM T_PLN_FORECAST2N3 t0
|
|||
|
|
INNER JOIN T_PLN_FORECAST2N3ENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
WHERE t0.FDOCUMENTSTATUS = 'C'
|
|||
|
|
)
|
|||
|
|
,#N_3Ԥ<33>ⵥ AS (
|
|||
|
|
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
FROM #N_3 t0
|
|||
|
|
INNER JOIN #N_3 t1 on t1.RN = 2
|
|||
|
|
AND t0.FFORECASTYEAR = t1.FFORECASTYEAR AND t0.FFORECASTMONTH = t1.FFORECASTMONTH
|
|||
|
|
AND t0.FMATERIALID = t1.FMATERIALID
|
|||
|
|
WHERE t0.RN = 1
|
|||
|
|
)
|
|||
|
|
,#W_5 AS (
|
|||
|
|
SELECT t0.FBILLNO,'W+5' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE
|
|||
|
|
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ,t0.FFORECASTYEAR,t0e.FSTARTDATE
|
|||
|
|
,t0e.FD1+t0e.FD2+t0e.FD3+t0e.FD4+t0e.FD5+t0e.FD6+t0e.FD7+t0e.FD8+t0e.FD9+t0e.FD10+t0e.FD11+t0e.FD12+t0e.FD13+t0e.FD14+t0e.FD15+t0e.FD16+t0e.FD17+t0e.FD18+t0e.FD19+t0e.FD20+t0e.FD21+t0e.FD22+t0e.FD23+t0e.FD24+t0e.FD25+t0e.FD26+t0e.FD27+t0e.FD28+t0e.FD29+t0e.FD30+t0e.FD31+t0e.FD32+t0e.FD33+t0e.FD34+t0e.FD35+t0e.FD36+t0e.FD37+t0e.FD38+t0e.FD39+t0e.FD40+t0e.FD41+t0e.FD42 AS 'QTY'
|
|||
|
|
,DENSE_RANK() OVER (PARTITION BY t0.FFORECASTYEAR,t0e.FSTARTDATE ORDER BY t0.FBILLNO DESC,t0.FVERSIONS DESC) RN
|
|||
|
|
FROM T_PLN_FORECAST2W5 t0
|
|||
|
|
INNER JOIN T_PLN_FORECAST2W5ENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
WHERE t0.FDOCUMENTSTATUS = 'C'
|
|||
|
|
)
|
|||
|
|
,#W_5Ԥ<35>ⵥ AS (
|
|||
|
|
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
FROM #W_5 t0
|
|||
|
|
INNER JOIN #W_5 t1 on t1.RN = 2
|
|||
|
|
AND t0.FFORECASTYEAR = t1.FFORECASTYEAR
|
|||
|
|
AND t0.FSTARTDATE = t1.FSTARTDATE
|
|||
|
|
AND t0.FMATERIALID = t1.FMATERIALID
|
|||
|
|
WHERE t0.RN = 1
|
|||
|
|
)
|
|||
|
|
, #<23><><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM #<23><><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ
|
|||
|
|
UNION ALL
|
|||
|
|
SELECT *
|
|||
|
|
FROM #N_3Ԥ<33>ⵥ
|
|||
|
|
UNION ALL
|
|||
|
|
SELECT *
|
|||
|
|
FROM #W_5Ԥ<35>ⵥ
|
|||
|
|
)
|
|||
|
|
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t1_l.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t2_l.FNAME '<EFBFBD>ͻ<EFBFBD>','' '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
FROM #<23><><EFBFBD><EFBFBD> t0
|
|||
|
|
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
|||
|
|
INNER JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
|
|||
|
|
INNER JOIN T_BD_CUSTOMER_L t2_l on t2_l.FCUSTID = t0.FCUSTID
|