|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Cygapb-007, Pivot, это классно. Но ведь я получу только за один месяц. Как мне применить это к остальным месяцам? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:19 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
DATENAME - недетерминированная функция. Поэтому иногда её применить не получится. Лучше считать остаток от деления на 7 периода времени с 01.01.1900, выраженного в днях! 1 января 1900 был понедельником. Поэтому остаток, равный 0, означает "понедельник". Число 0 без проблем конвертируется именно в '1900'. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:19 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Во у меня какой календарь есть: Код: 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.
http://www.sql.ru/forum/519478/kalendar-nyneshnego-mesyaca Сейчас бы по-другому сделал... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:29 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
boobonick, задачу-то сформулируйте хотя бы... полностью, а не с регулярными вводными :) в старттопике была генерация дней от начала текущего месяца до конца света, потом вопрос о количестве дней недели в текущем месяце, теперь выясняется, что месяцев несколько... что будет дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:30 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
ДЫ, просто задумка была как раз посчитать количество дней через CTE в месяце и сгруппировать их по дням недели, а потом pivot применить, но ведь у меня же еще месяц в зависимости от даты выбирается. А дат много. И нужно это все в таблицу вывести ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:35 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
boobonick, Вам ещё не посоветовали сделать постоянную таблицу с датами лет на сто? И таблицу с числами хотя бы от 0 до миллиона? Сделайте. Не пожалеете. Все подобные задачи станут элементарными. И сервер их обработает максимально эффективно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:38 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Чтобы понять рекурсию, нужно понять рекурсию :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 15:18 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
iap, а разве это не одна и та же таблица?? с учетом dateadd(d,number,<базовая дата>) persisted ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 15:41 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Cygapb-007iap, а разве это не одна и та же таблица?? с учетом dateadd(d,number,<базовая дата>) persisted ?Можно и одну. У меня вот обе есть. Проиндексированные. Чего тут экономить-то? К тому же в таблице с датами можно полезную информацию держать (праздник/не праздник, например) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 15:45 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Вот, набросал,но теперь вопрос, как мне это все связать с несколькими месяцами? Т.е., я передаю,соединяю несколько месяцев, а мне в ответ месяц и сумму всех дней недели этих месяцев Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 18:39 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Т.е. примерно так должно быть: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 18:41 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
в CTE генерируются все даты за один месяц - откуда второй строке взяться? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2013, 09:16 |
|
Помогите понять CTE
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
YEAR_MONTH12345672013-0611122222013-0755544442013-081112221 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2013, 10:15 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1705966]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 410ms |
0 / 0 |