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

Откуда:
Сообщений: 125
есть таблица table1 с полями "номер записи", "номер книги", "номер пользователя", "дата записи"
нужно написать запрос чтобы выводило номера пользователей, с какой книгой они работают и какое количество записей внесли в течении недели с разбиением по дням недели
Пример
Иванов - Книга 10 - пон - 23 вт - 34 ср -12 чт - 55
Сидоров - Книга 12 - пон - 13 вт - 11 ср -56 чт - 5
14 апр 04, 06:58    [627155]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
select usernum, booknum, sum(case when datepart(ww, daterecord)=1 then 1 else 0 end) monday ... from table1 group by usernum, booknum



для спящего время бодрствования равносильно сну
14 апр 04, 07:09    [627156]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Kravec
Member

Откуда:
Сообщений: 125
а что значит then 1 else 0
14 апр 04, 08:17    [627187]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
автор
а что значит then 1 else 0

А значит, что если условие выполнилось, тогда 1, иначе - 0.
14 апр 04, 08:19    [627190]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Kravec
Member

Откуда:
Сообщений: 125
а толко 1 или 0 надо чтобы выбирать записи и писать день недели а не число
14 апр 04, 08:32    [627203]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
мда...
select 

usernum+' - Книга '+booknum+' - пон - '+sum(case when datepart(ww, daterecord)=1 then 1 else 0 end)+
' - вт - '+sum(case when datepart(ww, daterecord)=2 then 1 else 0 end)+
' - ср - '+sum(case when datepart(ww, daterecord)=3 then 1 else 0 end)+
' - чт - '+sum(case when datepart(ww, daterecord)=4 then 1 else 0 end) nocolumnname
from table1
group by usernum, booknum




для спящего время бодрствования равносильно сну
14 апр 04, 08:37    [627207]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
автор
количество записей

и
автор
писать день недели а не число

как-то разные весчи...
автор
Иванов - Книга 10 - пон - 23 вт - 34 ср -12 чт - 55

что такое пон - 23?

для спящего время бодрствования равносильно сну
14 апр 04, 08:38    [627209]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Kravec
Member

Откуда:
Сообщений: 125
23 это количество записей добавленных данным пользователем в понедельник
14 апр 04, 08:42    [627213]     Ответить | Цитировать Сообщить модератору
 Re: Запрос по дням недели  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
а вы хоть запускали запрос, или навскидку говорите?


для спящего время бодрствования равносильно сну
14 апр 04, 08:47    [627216]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить