Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Плиииз помогите написать запрос / 4 сообщений из 4, страница 1 из 1
29.10.2018, 10:06
    #39724293
sashka1998
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Плиииз помогите написать запрос
Всем привет! Столкнулся с такой проблемой, есть у меня табличное выражение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
with dateMonth as(
select '2018-03-01' as E
union
select '2018-03-02' as E
union
select '2018-03-03' as E
union
select '2018-03-04' as E
union
select '2018-03-05' as E
union
select '2018-03-06' as E
union
select '2018-03-07' as E
union
select '2018-03-08' as E
union
select '2018-03-09' as E
union
select '2018-03-10' as E
union
select '2018-03-11' as E
union
select '2018-03-12' as E
union
select '2018-03-13' as E
union
select '2018-03-14' as E
union
select '2018-03-15' as E
union
select '2018-03-16' as E
union
select '2018-03-17' as E
union
select '2018-03-18' as E
union
select '2018-03-19' as E
union
select '2018-03-20' as E
union
select '2018-03-21' as E
union
select '2018-03-22' as E
union
select '2018-03-23' as E
union
select '2018-03-24' as E
union
select '2018-03-25' as E
union
select '2018-03-26' as E
union
select '2018-03-27' as E
union
select '2018-03-28' as E
union
select '2018-03-29' as E
union
select '2018-03-30' as E
union
select '2018-03-31' as E)
)


И я пытаюсь создать запрос который будет выводить данное выражение как календарь.То есть так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
|          |          |          |2018-03-01|2018-03-02|2018-03-03|2018-03-04|
------------------------------------------------------------------------------
|2018-03-05|2018-03-06|2018-03-07|2018-03-08|2018-03-09|2018-03-10|2018-03-11|
------------------------------------------------------------------------------
|2018-03-12|2018-03-13|2018-03-14|2018-03-15|2018-03-16|2018-03-17|2018-03-18|
------------------------------------------------------------------------------
|2018-03-19|2018-03-20|2018-03-21|2018-03-22|2018-03-23|2018-03-24|2018-03-25|
------------------------------------------------------------------------------
|2018-03-26|2018-03-27|2018-03-28|2018-03-29|2018-03-30|2018-03-31|

Но к сожалению у меня это не как не выходит. Пробывал сортировать и выводить по столбцам вот так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 1 THEN c.E end AS 'Sunday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 2 THEN c.E end AS 'Monday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 3 THEN c.E end AS 'Tuesday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 4 THEN c.E end AS 'Wednesday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 5 THEN c.E end AS 'Thursday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 6 THEN c.E end AS 'Friday',
CASE
WHEN DATEPART(WEEKDAY,(c.E))= 7 THEN c.E end AS 'Saturday'

FROM dateMonth c


В результате куча значений null от которых не понятно как избавится. С фильтром IS NOT NULL вообще ничего не выводится.Больше идей не каких нет((( Кто знает подскажите плиз,Любые идеи,как это можно сделать.
...
Рейтинг: 0 / 0
29.10.2018, 10:18
    #39724299
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Плиииз помогите написать запрос
sashka1998В результате куча значений null от которых не понятно как избавитсяТупо в лоб:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 1 THEN c.E end) AS 'Sunday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 2 THEN c.E end) AS 'Monday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 3 THEN c.E end) AS 'Tuesday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 4 THEN c.E end) AS 'Wednesday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 5 THEN c.E end) AS 'Thursday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 6 THEN c.E end) AS 'Friday',
	max(CASE WHEN DATEPART(WEEKDAY,(c.E))= 7 THEN c.E end) AS 'Saturday'
FROM dateMonth c
group by DATEPART(WEEK,(c.E))
...
Рейтинг: 0 / 0
29.10.2018, 10:26
    #39724311
sashka1998
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Плиииз помогите написать запрос
alexeyvg,Так просто.Как же я сам до этого не додумался. Большое спасибо.
...
Рейтинг: 0 / 0
29.10.2018, 10:30
    #39724316
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Плиииз помогите написать запрос
Вот, помнится, тема была:

http://www.sql.ru/forum/519478/kalendar-nyneshnego-mesyaca
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Плиииз помогите написать запрос / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]