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

Откуда:
Сообщений: 82
Есть таблица1 и поля поле1(varchar), поле2(varchar)
Прое1Поле2
d12
d24
d31
d43


Необходимо написать SQL запрос, чтобы вставить количество строк по значению, которое находится в поле2

Прое1Поле2
d1.12
d1.22
d2.14
d2.24
d2.34
d2.44
d3.11
d4.13
d4.23
d4.33

Заранее, всем спасибо кто может помочь!
17 май 18, 10:35    [21416043]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Bujhm_C,

DECLARE @a TABLE (Code VARCHAR(255),Val INT)
INSERT INTO @a (Code,Val)
SELECT * FROM (VALUES
(	'd1',	2),
(	'd2',	4),
(	'd3',	1),
(	'd4',	3)
)as x (c,v)

;WITH n as 
(
	SELECT 
		number as Val
	FROM master..spt_Values
	WHERE	Type = 'p'	AND
                number > 0 AND
		number  <= (SELECT MAX(Val) FROM @a)
)
SELECT 
	CONCAT(a.Code,'.',b.val),
	a.Val
FROM @a a
CROSS APPLY 
(
	SELECT Val
	FROM n
	WHERE  
		Val <= a.Val
) b


cte n можно заменить на таблицу чисел
17 май 18, 10:44    [21416087]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Bujhm_C,

а чем это отличается от прошлого Вашего вопроса?
17 май 18, 10:51    [21416114]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bujhm_C
Member

Откуда:
Сообщений: 82
Спасибо, что подметили. Ищу рациональный способ решения.
17 май 18, 11:03    [21416185]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
invm
Member

Откуда: Москва
Сообщений: 9116
Bujhm_C
Ищу рациональный способ решения.
Рациональный - это завести постоянную таблицу натуральных чисел. Тогда подобные задачи решаются тривиально простым джойном.
17 май 18, 11:13    [21416235]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Bujhm_C
Member

Откуда:
Сообщений: 82
Пардон за пробел в знаниях, а на практике это как?
17 май 18, 11:17    [21416258]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить