Как я могу выбрать запрос, увеличив число дней? - PullRequest
0 голосов
/ 06 февраля 2012

Я генерирую Excel, используя SQL-запрос для каждого дня:

SELECT      COUNT(res_id) as TotalReservation
FROM        bup_vw_res_reservation
WHERE       res_deleted = 0 
AND         DATEPART(DAY,res_date_start) = 1

Я выполняю этот запрос каждый раз, когда хочу изменить ДЕНЬ. Чтобы создать 1 лист в моем файле Excel, мне нужно открыть и закрыть 30 соединений на моей странице. И если мне нужно сделать еще один лист для другой компании, то мне нужно снова выполнить тот же 30-й запрос. И страница становится очень медленной: (* ​​1004 *

Есть ли другой способ получить тот же результат в 1 запросе?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Если вам нужна общая сумма, вы можете сделать

DATEPART(DAY, res_date_start) BETWEEN 1 AND 30

Если вам нужен каждый счет бронирования за каждый день, сделайте это

SELECT      COUNT(res_id) as TotalReservation, DATEPART(DAY,res_date_start)
FROM        bup_vw_res_reservation
WHERE       res_deleted = 0 
GROUP BY    DATEPART(DAY,res_date_start)
0 голосов
/ 06 февраля 2012

Да, сгруппируйте результаты по DATEPART (ДЕНЬ, res_date_start) следующим образом:

SELECT      COUNT(res_id) as TotalReservation, DATEPART(DAY,res_date_start) 
FROM        bup_vw_res_reservation
WHERE       res_deleted = 0 
            and res_date_start between beginning_of_month and end_of_month
GROUP BY DATEPART(DAY,res_date_start)

Теперь у вас есть все необходимые результаты, и вы можете выполнять итерацию по ним для создания электронной таблицы Excel для каждой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...