Мне нужна помощь, так как я застрял. Это использование SQL и Coldfusion. По сути, у меня есть таблица, в которой указано завершение определенных билетов, а также дата, когда они были отмечены как завершенные. Например, в этой таблице есть район и область, которые используются в GROUP BY. Итак, я хочу подсчитать каждый билет, который был сделан каждую неделю года, который пользователь выбирает, например, для запуска отчета. Я перечислю немного SQL, который у меня есть на данный момент.
SELECT
SUM(CASE WHEN DATEPART(ww, completionDate) = 1 THEN 1 ELSE 0 END) AS [Jan1-7],
SUM(CASE WHEN DATEPART(ww, completionDate) = 2 THEN 1 ELSE 0 END) AS [Jan8-14],
SUM(CASE WHEN DATEPART(ww, completionDate) = 3 THEN 1 ELSE 0 END) AS [Jan15-21],
SUM(CASE WHEN DATEPART(ww, completionDate) = 4 THEN 1 ELSE 0 END) AS [Jan22-31]
SUM(CASE WHEN DATEPART(ww, completionDate) = 5 THEN 1 ELSE 0 END) AS [Feb1-7],
SUM(CASE WHEN DATEPART(ww, completionDate) = 6 THEN 1 ELSE 0 END) AS [Feb8-14],
SUM(CASE WHEN DATEPART(ww, completionDate) = 7 THEN 1 ELSE 0 END) AS [Feb15-21],
SUM(CASE WHEN DATEPART(ww, completionDate) = 8 THEN 1 ELSE 0 END) AS [Feb22-28],
Как вы можете видеть, я в основном пытаюсь определить, какой неделей года была дата завершения, и суммировать это в отдельной колонке. Это должно быть в этом формате, если у кого-то нет лучшего предложения. Проблема в том, например, что 18 февраля 2013 г., например, SQL говорит мне, что это будет 8-я неделя 2013 г., тогда как мой код СУММУЛИРУЕТ это в FEB15-21, что является 7-й неделей в соответствии с моим кодом. Мне нужен отчет, чтобы показать месяц в верхнем заголовке, а затем показать каждую неделю в следующем заголовке этого месяца, а затем, в основном, подсчитать каждый билет, выполненный за эту неделю. Таким образом, недели/месяцы должны быть столбцами.
Я прочитал некоторые функции CF и все такое, но просто не знаю, как их использовать, чтобы получить то, что мне нужно. Есть ли способ динамически СУММИЗИРОВАТЬ эти даты, гарантируя, что они СУММУЛИРУЮТСЯ в правильном столбце в зависимости от недели, или использовать Coldfusion для обработки этой части? Но я также не слишком уверен в части ColdFusion, поэтому, если возможно, любые предложения по использованию SQL или CF и, возможно, помощь мне в части кода будут действительно оценены.
Спасибо!!