Главная страница
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.017 c
3-69699
Jaric
2002-03-30 14:26
2002.04.22
Как общаться через ADO компоненты через SPX/IPX протокол?


1-69925
Сергей Чурсин
2002-04-08 11:10
2002.04.22
Возможно ли вставить чужое окно (по HWND) в форму ?


14-70009
lipskiy
2002-03-16 03:06
2002.04.22
Где Кулиба живая есть?


14-70005
dimich
2002-03-16 09:07
2002.04.22
Песни про Counter Strike


1-69881
UDS
2002-04-07 20:38
2002.04.22
Можно ли просто отцентрировать текст в EDIT?