1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| DECLARE @StartDateTime DateTime = '20180403 04:30:00'
DECLARE @EndDateTime DateTime = '20180404 04:30:00'
--CREATE TABLE nouvelle_table AS
SELECT
T_Suivi.ParcelId,
T_Suivi.PostalCode,
CASE WHEN LEN(T_Suivi.BarCodeSuivi) = 13 then T_Suivi.BarCodeSuivi
WHEN T_Suivi.BarCodeSuivi like '%849250' then substring(T_Suivi.BarCodeSuivi,9,13)
when T_Suivi.BarCodeSuivi like'%250' then substring(T_Suivi.BarCodeSuivi,11,13) else T_Suivi.BarCodeSuivi END AS CodeSuivi
FROM
(
SELECT
Parcel.PostalCode,
Barcode.ParcelId,
COALESCE(MAX(CASE WHEN LEN(BarCode) = 13 THEN BarCode END), MAX(BarCode)) AS BarCodeSuivi
FROM
Barcode
JOIN Parcel
ON barcode.ParcelId =Parcel.Id and Barcode.Utility in(1,6)
JOIN ParcelEvent
ON Parcel.Id=ParcelEvent.ParcelId AND
ParcelEvent.[DateTime] BETWEEN @StartDateTime AND @EndDateTime
Join Vacation
on Parcel.VacationId=Vacation.Id
Join PrintTable
on Vacation.IdTache=PrintTable.IdTache
join PrintTableDetail
on PrintTable.Id =PrintTableDetail.PrintTableId and
Parcel.PostalCode between PrintTableDetail.beginPostalCode and PrintTableDetail.EndPostalCode and Parcel.PostalCode is not null
GROUP BY
Parcel.PostalCode,
Barcode.ParcelId
) as T_Suivi
Order by
T_Suivi.ParcelId |
Partager