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

Откуда:
Сообщений: 16
Подскажите, как сделать в запросе чтобы одной единице значения было одна запись? Например если поле "ID" = 10 то будет 10 строчек с ID 1,2,3,4,5,6,7,8,9,10
13 авг 14, 11:37    [16435556]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Glory
Member

Откуда:
Сообщений: 104751
BorisValkovich
Например если поле "ID" = 10 то будет 10 строчек с ID 1,2,3,4,5,6,7,8,9,10

Т.е. из одной переменной сделать десять записей ?
13 авг 14, 11:41    [16435578]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
BorisValkovich
Member

Откуда:
Сообщений: 16
Да. Ну кроме ID в таблице например есть ещё другие колонки. Напрмиер Name, Surname, Date. И что бы в результате было
ID 1 Name Вася Surname Петров
ID 2 Name Kirill Surname Пупкин
и т.д.
13 авг 14, 11:47    [16435617]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Glory
Member

Откуда:
Сообщений: 104751
BorisValkovich
Да.

Т.е. вы хотите как-то выбрать данные, которых не существует ?
13 авг 14, 11:50    [16435632]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
BorisValkovich, как-то так..
declare @i int 
set @i = 10;

with t as
(
	select 1 as val
	union all
	select val+1 from t where val<10
)
select val from t
13 авг 14, 11:54    [16435658]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
BorisValkovich
Member

Откуда:
Сообщений: 16
Почему не существует. Существует. Блин, как бы объяснить. Для каждой единицы значения, должна быть отдельная строка. То есть если ID = 5 то в запросе будет 5 строк
13 авг 14, 11:54    [16435662]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Glory
Member

Откуда:
Сообщений: 104751
BorisValkovich
Блин, как бы объяснить.

Рекомендации по оформлению сообщений п.4 и п.6
13 авг 14, 11:56    [16435672]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
BorisValkovich,
ну вот вам вариант с табличными выборками-вставками. Вы это имели в виду?
declare @in table(i int)
declare @out table (j int)

declare @i int

insert into @in values(7)
insert into @in values(10)
insert into @in values(5)

declare Cur cursor local fast_forward for 
select i from @in

open Cur

fetch next from Cur into @i

while ( @@FETCH_STATUS = 0 )
	begin
		
		with t as
		(
			select 1 as val
			union all
			select val+1 from t where val<@i
		)
		insert into @out 
		select val from t
	
		fetch next from Cur into @i
	end
	
close cur
select * from @out
13 авг 14, 12:12    [16435750]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
BorisValkovich
Member

Откуда:
Сообщений: 16
Да. Спасибо большое
13 авг 14, 12:24    [16435821]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
BorisValkovich, пожалуйста. Только после "close cur" добавьте ещё "deallocate Cur"
13 авг 14, 12:52    [16435989]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
Mairos
BorisValkovich, пожалуйста. Только после "close cur" добавьте ещё "deallocate Cur"

Зачем? Хелп читайте. Там и CLOSE опционально.
13 авг 14, 17:20    [16437893]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
Владислав Колосов, согласен )) Строго говоря так и есть ))
13 авг 14, 17:22    [16437902]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Владислав Колосов
Mairos
BorisValkovich, пожалуйста. Только после "close cur" добавьте ещё "deallocate Cur"

Зачем? Хелп читайте. Там и CLOSE опционально.
Ткните плиз носом. Где написано что CLOSE писать не нужно?
13 авг 14, 20:05    [16438488]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
LOCAL
...
Курсор неявно освобождается после завершения выполнения пакета, хранимой процедуры или триггера, за исключением случая, когда курсор был передан параметру OUTPUT.
13 авг 14, 21:10    [16438647]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
Mind, имелось в виду что "deallocate" можно не добавлять. Про "close" речи не было.
14 авг 14, 10:37    [16439815]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
Mairos
Member

Откуда:
Сообщений: 555
Владислав Колосов, вообще всё это как с
select DATEADD(DAY,-1,GETDATE())
select GETDATE()-1

результат один, но документально правильным считается первый вариант
14 авг 14, 10:41    [16439852]     Ответить | Цитировать Сообщить модератору
 Re: Отдельное значение  [new]
BorisValkovich
Member

Откуда:
Сообщений: 16
А как этот скрипт изменить для нескольких параметров?
14 авг 14, 12:28    [16440775]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить