powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли "развернуть" таблицу на 90 гр?
10 сообщений из 35, страница 2 из 2
Можно ли "развернуть" таблицу на 90 гр?
    #32040087
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мое слово "изврат" относилось не к задаче, а к попыткам сделать ее через SQL. Задача вполне нормальная.
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040090
SM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит изврат - это попытки, а пытающийся - извращенец?
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040092
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то SM... так олап для этого самое хорошое решение...
можеш поюзать попроще.. кажется в MSOffice есть компонет... упрощенный ... но пойдет...
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040096
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это попытки решить задачу негодными средствами. Я то же склоняюсь к OLAP, но пока не слишком хорошо знаю эту штуковину, так что советовать не рискнул.
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040097
SM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLAP хорош будет для аналитики/статистики. Тут же оперативная работа.
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040103
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я когдато делал на клинте такие штуки...
и использовал таки компонент от офиса...
людям нравилось ;)...
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040705
sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Был вопрос как - определить id временной таблицы.
В Sybase есть ф-ция object_id('имя_объекта'), не уверен, что она есть в MS SQL, но вполне возможно.
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040751
SM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
SET NOCOUNT ON
create table #temp(Materail varchar( 50 ), EndConnection varchar( 50 ), [Option] int)
insert #temp values('A1','FE', 1 )
insert #temp values('A2','BE', 2 )
insert #temp values('A3','FEE', 3 )

 -- создаем таблицу
 
declare @s varchar( 8000 )
set @s='create table #tmp (Field varchar(50),'

select @s=@s+'[Option'+cast([Option] as varchar( 20 ))+'] varchar(50),'
from #temp
order by [Option]

set @s=left(@s,len(@s)- 1 )+')
'
 -- заполняем таблицу
 
select @s=@s+
  case when c.[Option]=(select min([Option]) from #temp)
    then 'insert #tmp select '''+b.name+ ''','
    else ''
  end+
  '(select '+b.name+' from #temp where [Option]='+cast(c.[Option] as varchar( 20 ))+')
'+case when c.[Option]=(select max([Option]) from #temp) then '' else ',' end
from tempdb..sysobjects a
cross join #temp c
join tempdb..syscolumns b on b.id=a.id and b.name<>'Option'
where a.id=object_id('tempdb..#Temp')
order by b.colid, c.[Option]

set @s=@s+'select * from #tmp'

SET NOCOUNT OFF
exec(@s)
 --select @s
 

drop table #temp
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040771
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я подобное тоже делал на клиенте. Только с сервера отдаю два рекордсета: один - описание того, какие поля являются заголовками строк, какое поле является заголовком столбцов, а какое поле является значением, а второй рекордсет - собственно сами данные. "Пара" строк кода по этой инфе строят грид как надо и его заполняют. Все достаточно просто...
...
Рейтинг: 0 / 0
Можно ли "развернуть" таблицу на 90 гр?
    #32040773
Фотография Nickolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один пример:
-- -------------------------------------------------
-- используемые таблицы
create table table1 (date datetime, value int);
create table table2 (date datetime, value int);
create table table3 (date datetime, value int);

-- ----------------------------------------------------
-- данные в таблицах

-- select * from table1
-- date value
-- --------------------------- -----------
-- 2002-01-10 00:00:00.000 12
-- 2002-01-12 00:00:00.000 14
-- 2002-01-11 00:00:00.000 12
--
-- (3 row(s) affected)

-- select * from table2
-- date value
-- --------------------------- -----------
-- 2002-01-10 00:00:00.000 5
-- 2002-01-11 00:00:00.000 10
--
-- (2 row(s) affected)

-- select * from table3
-- date value
-- --------------------------- -----------
-- 2002-02-12 00:00:00.000 5
--
-- (1 row(s) affected)

-- -------------------------------------------------------------------------------
-- запрос выборки по таблицам
-- -------------------------------------------------------------------------------
if exists (select * from sysobjects where name='dts' and xtype='U')
drop table dts;
-- -------------------------------------------------------------------------------
select date, null as value1, null as value2, null as value3 into dts from table1
union
select date, null as value1, null as value2, null as value3 from table2
union
select date, null as value1, null as value2, null as value3 from table3;
-- -------------------------------------------------------------------------------
update dts set value1=table1.value from table1 where dts.date=table1.date;
update dts set value2=table2.value from table2 where dts.date=table2.date;
update dts set value3=table3.value from table3 where dts.date=table3.date;
-- -------------------------------------------------------------------------------

-- проверка результата
select * from dts;
-- полученный результат
-- date value1 value2 value3
-- --------------------------- ----------- ----------- -----------
-- 2002-01-10 00:00:00.000 12 5 NULL
-- 2002-01-11 00:00:00.000 12 10 NULL
-- 2002-01-12 00:00:00.000 14 NULL NULL
-- 2002-02-12 00:00:00.000 NULL NULL 5
--
-- (4 row(s) affected)
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли "развернуть" таблицу на 90 гр?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]