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

Откуда:
Сообщений: 34
Вообщем задача легкая (но я не понимаю). Есть таблица, в ней два столбца date_start и date_end.
Допустим со значениями 20.07.2013 и 25.07.2013.
Как сделать запрос чтобы он в новом столбце таблицы вывел весь промежуток дат, в таком формате:
20.07.2013 ... ... ...
21.07.2013 ... ... ...
22.07.2013 ... ... ...
23.07.2013 ... ... ...
24.07.2013 ... ... ...
25.07.2013 ... ... ...
10 июл 13, 12:27    [14546135]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
наберите в посике на форуму - диапазон дат ,и будет вам счастье
10 июл 13, 12:28    [14546145]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Что то понятного не нашел
10 июл 13, 12:48    [14546292]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
есть
ID date_start date_end
1 20.07.2013 22.07.2013
2 23.07.2013 25.07.2013
1 26.07.2013 27.07.2013

необходимо

result ID
20.07.2013 1
21.07.2013 1
22.07.2013 1
23.07.2013 2
24.07.2013 2
25.07.2013 2
26.07.2013 1
27.07.2013 1
10 июл 13, 13:00    [14546366]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
SS13SS13, покажите, как вы пытаетесь это сделать
10 июл 13, 13:08    [14546441]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Александр52,

Я не делаю это. Я спрашиваю как это организовать и сделать.
10 июл 13, 13:09    [14546457]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SS13SS13
Что то понятного не нашел
Зачем говорить ерунду?
Похоже, и не пробовали поискать по предложенным словам.
Я набрал "диапазон дат" и в первой же попавшейся теме ваш вопрос обсуждается:
https://www.sql.ru/forum/1007154/kakim-zaprosom-mozhno-vyvesti-takuu-tablicu?
10 июл 13, 13:20    [14546555]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Поясняю мне не просто их произволные надо выдать, а взять из одной, двух или более таблиц все имеющиеся диапазоны дат и вывести их в один столбце без ввода даты начала даты конца
10 июл 13, 13:25    [14546590]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SS13SS13
Поясняю мне не просто их произволные надо выдать, а взять из одной, двух или более таблиц все имеющиеся диапазоны дат и вывести их в один столбце без ввода даты начала даты конца
Найдите хотя бы одно совпадение со стартовым сообщением.
С Вами невозможно иметь дело.
10 июл 13, 13:28    [14546620]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
и чем ето оличаеться о варианта предложенного iap ? Вместо начало-конец,берете значение из вашего запроса и вперед по накатаному
10 июл 13, 13:28    [14546626]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
zlopihatel`
Guest
iap
SS13SS13
Поясняю мне не просто их произволные надо выдать, а взять из одной, двух или более таблиц все имеющиеся диапазоны дат и вывести их в один столбце без ввода даты начала даты конца
Найдите хотя бы одно совпадение со стартовым сообщением.
С Вами невозможно иметь дело.


on prosto lenivii

set dateformat dmy
declare @t table(ID int,  date_start date,  date_end date)

insert into @t values 
(1, '20.07.2013', '22.07.2013'),
(2, '23.07.2013', '25.07.2013'),
(1, '26.07.2013', '27.07.2013')


select t.id, dateadd(dd, sv.rn, t.date_start) from @t t
join (select row_number() over (order by number) - 1 rn from master.dbo.spt_values) sv on sv.rn <= datediff(dd, t.date_start, t.date_end)
10 июл 13, 13:36    [14546678]     Ответить | Цитировать Сообщить модератору
 Re: Диапазон дат (как вывести в столбце?)  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
zlopihatel`,

Спасибо большое) Так и надо )
10 июл 13, 13:47    [14546766]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить