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

Откуда:
Сообщений: 545
Как можно сделать выборку по таблице так чтобы по каждому ID выводилась отдельная таблица? Т.е. если в исходной таблице несколько ID то результатом выборки должно быть несколько таблиц.
10 май 12, 14:27    [12530159]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
2king2
Как можно сделать выборку по таблице так чтобы по каждому ID выводилась отдельная таблица? Т.е. если в исходной таблице несколько ID то результатом выборки должно быть несколько таблиц.


"Таблица" она ,сцуко такая , на сервере. На клиенте набор данных.
Динамический sql ,видимо нужен , для создания нескольких рекордсетов для клиента .
10 май 12, 14:30    [12530184]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
2king2
Member

Откуда:
Сообщений: 545
Ken@t
2king2
Как можно сделать выборку по таблице так чтобы по каждому ID выводилась отдельная таблица? Т.е. если в исходной таблице несколько ID то результатом выборки должно быть несколько таблиц.


"Таблица" она ,сцуко такая , на сервере. На клиенте набор данных.
Динамический sql ,видимо нужен , для создания нескольких рекордсетов для клиента .


Один DataSet, а в нем несколько таблиц.
10 май 12, 14:33    [12530207]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
user89
Member

Откуда:
Сообщений: 2083
2king2
Один DataSet, а в нем несколько таблиц.
Не совсем понятно, нарисуйте, что должно в итоге получиться...
Возможно apply
10 май 12, 15:18    [12530626]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
2king2
Member

Откуда:
Сообщений: 545
user89
Не совсем понятно, нарисуйте, что должно в итоге получиться...

Исходная таблица
id |value|
--+------
3 |  23  | 
2 |  54  | 
2 |  98  |
1 |  76  |
2 |  22  | 
1 |  32  | 

Результирующие таблицы
Таблица (где ID = 1)
id |value|
--+------
1 |  76  |
1 |  32  | 

Таблица (где ID = 2)
id |value|
--+------
2 |  54  | 
2 |  98  |
2 |  22  | 

Таблица (где ID = 3)
id |value|
--+------
3 |  23  | 
10 май 12, 15:28    [12530703]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31969
2king2
Как можно сделать выборку по таблице так чтобы по каждому ID выводилась отдельная таблица? Т.е. если в исходной таблице несколько ID то результатом выборки должно быть несколько таблиц.
Обычный цикл по ID, и для каждого значения запрос. См. в хелпе курсор, там есть примеры.
10 май 12, 16:06    [12531094]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
qwerty112
Guest
declare @SQL varchar(max)
set @SQL = (select distinct 'select * from t where id='+cast(id as varchar)+'; ' from t for xml path(''))
--print @SQL
exec (@SQL)

id          value
----------- -----------
1           76
1           32

(2 row(s) affected)

id          value
----------- -----------
2           54
2           98
2           22

(3 row(s) affected)

id          value
----------- -----------
3           23

(1 row(s) affected)
10 май 12, 16:11    [12531153]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
is_me
Member

Откуда: Нижний Новгород
Сообщений: 165
--create table tTest (id varchar(2), is_value varchar (4))
--insert into tTest values ('1','val1')
--insert into tTest values ('1','val2')
--insert into tTest values ('1','val3')
--insert into tTest values ('2','val4')
--insert into tTest values ('2','val5')
--insert into tTest values ('3','val6')
--select * from tTest
declare @id_fetch varchar(2)
DECLARE my_cursor CURSOR FOR SELECT distinct id from tTest
open my_cursor

fetch next from my_cursor into @id_fetch
WHILE @@FETCH_STATUS = 0
begin
select * from tTest where id = @id_fetch
fetch next from my_cursor into @id_fetch
end
10 май 12, 17:15    [12531787]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
is_me
Member

Откуда: Нижний Новгород
Сообщений: 165
qwerty112,

интересные конструкции, особенно exec(@sql).
У меня работает тока

declare @sql nvarchar(100)
set @sql = 'select 1'
exec sp_executesql @sql

(t-sql)
10 май 12, 17:18    [12531812]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
AnaceH
Member

Откуда:
Сообщений: 109
Автор, а зачем Вам это? Какая-то странная задача, мягко говоря.
10 май 12, 18:01    [12532014]     Ответить | Цитировать Сообщить модератору
 Re: Как по каждому ID выводить отдельную таблица?  [new]
2king2
Member

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

Спасибо большое, получилось!
10 май 12, 22:51    [12533218]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить