Следующий запрос вернул результат 1 на прикрепленном изображении Fichiers recus.
Я также хотел бы получить результат 2, и я не знаю, как это сделать.
Спасибо за вашу помощь.
DECLARE @dateDebut DATE = 2018-07-10
DECLARE @dateFin DATE = 2018-07-14
DECLARE @cols VARCHAR(MAX)
DECLARE @cols VARCHAR(MAX)
DECLARE @query VARCHAR(MAX)
DECLARE @sum_cols VARCHAR(MAX)
WITH Dates
AS (
SELECT [Date1] = CONVERT(Date,@dateDebut)
UNION ALL
SELECT [Date1] = DATEADD(DAY,1,[Date1])
FROM Dates
WHERE DATEADD(DAY,1,[Date1]) < @dateFin
)
SELECT LEFT(CONVERT(VARCHAR,[Date1],20),10) Date
INTO #DatesSerie
FROM Dates
OPTION (MAXRECURSION 45);
SET @cols = STUFF(( SELECT distinct ',' + QUOTENAME(d.Date)
FROM #DatesSerie d
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
SET @query = 'SELECT Reg, Trad, Rac, '+ @sum_cols +'
FROM FichiersRecus
PIVOT (
COUNT(FileName)
FOR DateFichier IN (' + @cols + ')
) AS MYPIVOT
GROUP BY Reg,Trad,Rac
ORDER BY '+ @dateDebut +' DESC, Reg,Trad ASC ';
EXECUTE (@query)