Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

Шахматка 2000   Найти похожие ветки 

 
KAA ©   (2002-03-27 17:48) [0]

Необходимо сделать шахматку, в частности получить либо выборку, либо временную таблицу, в которой кол-во столбцов будет зависеть от результата отдельной выборки, вообщем произвольное количество.
С помошью чего это можно сделать на MSSQL 2000? Задача вроде распространенная, наверняка уже есть стандартные наработки.


 
Fay ©   (2002-03-27 18:05) [1]

CREATE TABLE #Tmp(
[поле1] <его_тип_какойто>,
[поле2] <его_тип_какойто>,
)
Чё-то типа этого должно сработать
(Именно этод код не гонял)

DECLARE @S VARCHAR(n)
DECLARE C CURSOR LOCAL FOR
SELECT [какое-то поле откуда поля брать будешь]
FROM [какая-то таблица где это поле :)]
OPEN C
FETCH NEXT FROM C INTO @S
WHILE @FETCH_STATUS=0
BEGIN
EXEC("ALTER TABLE #Tmp ADD ["+@S+"]")
FETCH NEXT FROM C INTO @S
END
CLOSE C


 
Fay ©   (2002-03-27 18:07) [2]

В ALTER TABLE... славно было бы ещё тип данных добавить
Любят тут до таких мелочей всяко-разно ...


 
KAA ©   (2002-03-28 12:12) [3]

Этот вариант ничего не добавляет, хотя выводит что @S равно 2.

DECLARE @FETCH_STATUS int

CREATE TABLE #Tmp(
naim varchar(50),
fil1 int)

DECLARE @S VARCHAR(255)
DECLARE C CURSOR LOCAL FOR
SELECT convert(varchar(255),UIDTheme)
FROM bind_job_theme
WHERE UIDJob=12
OPEN C
FETCH NEXT FROM C INTO @S
WHILE @FETCH_STATUS=0
BEGIN
EXEC("ALTER TABLE #Tmp ADD ["+@S+"] int")
FETCH NEXT FROM C INTO @S
END
CLOSE C

print @S

SELECT * FROM #Tmp

DROP TABLE #Tmp


А этот вариант отрабатывает

CREATE TABLE #Tmp(
naim varchar(50),
fil1 int,
)

DECLARE @S VARCHAR(255)

SET @S="2"

EXEC("ALTER TABLE #Tmp ADD ["+@S+"] int")

SELECT * FROM #Tmp

DROP TABLE #Tmp

Я еще не работал с курсорами. Где могут быть грабли?


 
KAA ©   (2002-03-29 11:29) [4]

Кстати вопрос, а как заолнить новый столбец таблицы результатаи выборки из другой таблицы?


 
Delirium ©   (2002-03-29 12:50) [5]

То, что вы пытаетесь сделать наpывается OLAP. Применительно к MSSQL2000 - Analysis Services. Сие есть весьма сложная и интересная штуковина - читайте, изучайте и уже через пару недель задачи типа "шахматки" покажутся смешными.


 
Delirium ©   (2002-03-29 12:56) [6]

А вот и что почитать: http://www.olap.ru/basic/OLAP_intro1.asp



Страницы: 1 вся ветка

Текущий архив: 2002.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
4-70059
Swinger
2002-02-18 20:30
2002.04.22
Последовательный запуск двух программ.


7-70040
kingdom
2002-01-26 18:48
2002.04.22
Как узнать какие иконки соответствуют различным типам файлов


6-69951
Димка-1200
2002-02-11 10:03
2002.04.22
Народ, как с помощью TWebBrowser (или чего другого) заполнить поля в HTML


4-70069
ATLANTIDO
2002-02-14 18:01
2002.04.22
Верхнее окно


1-69776
SVM
2002-04-10 10:09
2002.04.22
Delphi 1