![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2000 Размножить строки в запросе [MSSQL]
KAA © (2003-02-02 15:29:00)Есть таблица из двух полей, еаименование товара и кол-во.
Name Kol-vo
винт 3
шуруп 1
гайка 2
Задача, представить таблицу в виде, чтоб каждая еденица товара была отдельной строкой
Name Kol-vo
винт 1
винт 1
винт 1
шуруп 1
гайка 1
гайка 1
BlackTiger (2003-02-03 09:38:00) [1]Ерундой занимаются, блин. Нет, чтобы анализ задачи сделать - лепят первое, что в голову придет.
neXt (2003-02-02 16:07:00) [2]второй раз за месяц такой вопрос вижу, господи, зачем вам всё это!?
Нужно цикл делать, курсорный или просто цикл. Одним запросом этого сделать в T-SQL нельзя.
Пример может быть таким (в храмую процедурц его зашить и не мучаться), это только вариант, на оптимальность не претендую, на правильность не проверял:
create table #Result (Name, Kol)
declare @Name varchar(255), @Kol int, @I int
declare c cursor for
select Name, Kol
from MyTable
open c
fetch c into @Name, @Kol
while @@fetch_status
begin
select @I = @Kol
while @I > 0
begin
insert #Result (Name, Kol)
select @Name, 1
select @I = @I - 1
end -- while
fetch c into @Name, @Kol
end -- while
close c
deallocate c
select * from #Result