Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Процедура на TSQL  [new]
Tsorion
Member

Откуда:
Сообщений: 2
Есть таблица событий. Определена она следующим образом:

CREATE TABLE Event (

CreationDate datetime,

EventTextvarchar(64)

)

Фактически это лог – есть отметка времени есть текст. За день может быть несколько записей, может не быть вообще.

Необходимо написать процедуру на TSQL который выдаст список всех дней в текущем году с количеством событий, приходящихся на эту дату. Если событий не было – пишем 0 и дату в результирующем наборе все равно отображаем.

Примерный вид результата:

01.01 0

02.01 0

03.01 5

04.01 40
29 мар 19, 17:40    [21847429]     Ответить | Цитировать Сообщить модератору
 Re: Процедура на TSQL  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
Tsorion,
SELECT calendardate, count(*) FROM
[таблица календарь] left join Event on CreationDate = calendardate
GROUP by calendardate
29 мар 19, 17:51    [21847451]     Ответить | Цитировать Сообщить модератору
 Re: Процедура на TSQL  [new]
aleks222
Member

Откуда:
Сообщений: 985
WarAnt
Tsorion,
SELECT calendardate, count(*) FROM
[таблица календарь] left join Event on CreationDate = calendardate
GROUP by calendardate


Садись. Неуд.

with d as (SELECT CreationDate, cnt = count(*) FROM Event GROUP by CreationDate )
select calendardate, cnt from d left join [таблица календарь]  on CreationDate = calendardate
30 мар 19, 12:12    [21847757]     Ответить | Цитировать Сообщить модератору
 Re: Процедура на TSQL  [new]
aleks222
Member

Откуда:
Сообщений: 985
Впрочем, если уж выискивать все огрехи
with d as (SELECT CreationDate = cast(CreationDate as date), cnt = count(*) FROM Event GROUP by cast(CreationDate as date) )
select calendardate, cnt from d left join [таблица календарь]  on CreationDate = calendardate
30 мар 19, 12:15    [21847758]     Ответить | Цитировать Сообщить модератору
 Re: Процедура на TSQL  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
aleks222
Впрочем, если уж выискивать все огрехи

left join? и где 0?
cадись, три
1 апр 19, 16:18    [21849109]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить