Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Строки стали столбцами [D5, IB6.x]


Страницы:   1 2

RH ©   (2003-11-03 06:07:00) 

Добрый день. Необходимо строки сделать столбцами? Как это реализовать? Подскажите, плиз. Или где посмотреть инфу?


супер дятел   (2003-11-03 21:59:00) [1]

/ http://www.osp.ru/win2000/sql/2001/02/665.htm


stud   (2003-11-03 10:57:00) [2]

это точно. понедельник день не легкий


Zacho   (2003-11-03 10:56:00) [3]


> stud © (03.11.03 10:48) [27]

Ну можно и примерно так. Но с while гораздо проще. Зачем городить кучу последовательных FOR SELECT, если все можно сделать в одном цикле ?
Все, пора завязывать с этой веткой, все равно практического смысла это почти не имеет.


stud   (2003-11-03 10:48:00) [4]

пардон, точно не выйдет
нужно где-то так.
i=1;
for SELECT pol1,.... , poln FROM table
where (id=zn)
into :pol1,...,poln
do
begin
if (i=1) then pole1=
if (i=n) then polen=
i=i+1;
end
suspend;


stud   (2003-11-03 10:48:00) [5]

пардон, точно не выйдет
нужно где-то так.
i=1;
for SELECT pol1,.... , poln FROM table
where (id=zn)
into :pol1,...,poln
do
begin
if (i=1) then pole1=
if (i=n) then polen=
i=i+1;
end
suspend;
это для одного наименовая


RH   (2003-11-03 10:47:00) [6]

спасибо всем, буду пробывать.
начну с того, что буду в приложении реализовывать, так вроде проще, через StringGrid, вроде уже наклевывается алгоритм...
запросы тоже попробую.
Спасибо.


Zacho   (2003-11-03 10:41:00) [7]


> stud © (03.11.03 10:35) [23]

Так не выйдет. То есть выдет, но совсем не то.
Это то же самое, что и
for SELECT pol1,.... , poln FROM table
where ()
into :pol1,...,poln
do
begin
suspend;
end

Попробуй. Разве что создавать дополнительную таблицу, из к-рой и делать FOR SELECT, а уже в теле цикла выбирать из нужной.


stud   (2003-11-03 10:35:00) [8]

а зачем while?
а если примерно так ?
for SELECT pol1,.... , poln FROM table
where ()
into :pol1,...,poln
do
begin
if (pol1 is not null) then par1=:pol1 else par1=null;
............
if (poln is not null) then parn=:poln else parn=null;
suspend;
end


Zacho   (2003-11-03 10:24:00) [9]


> stud © (03.11.03 10:19) [21]

Имхо, не выйдет. Разве что ХП с while. Или создать дополнительную таблицу, в к-рой кол-во записей будет равно кол-ву полей в основной.
В общем, муть это все. На клиенте надо делать. Или StringGrid, или Polevi © (03.11.03 10:13) [18] или еще как-нибудь.


stud   (2003-11-03 10:19:00) [10]


> как это сделать при неизменном количестве записей?

создать просмотр


stud   (2003-11-03 10:19:00) [11]

а для чего это надо? просто показать список значений, или для каких-то специфических целей?
можно просто в виде строки:

for SELECT CPEC_SPR.NAME
FROM CPEC_SPR
left outer JOIN REL_VS ON (CPEC_SPR.ID = REL_VS.COD_SPEC)
where rel_vs.id=:mr_id
into :temp_
do spec=:temp_||", "||:spec;
suspend;
на выходе spec - строка со списком всех специальностей специалиста


RH   (2003-11-03 10:14:00) [12]

как это сделать при неизменном количестве записей?


Polevi   (2003-11-03 10:13:00) [13]

TDrawGrid, Locate в процедуре отрисовки ячейки


Zacho   (2003-11-03 10:12:00) [14]


> RH © (03.11.03 10:09) [16]

Если записей фиксированное и никогда не изменяющееся количество - тогда можно. Иначе делай в приложении.


RH   (2003-11-03 10:09:00) [15]

есть так:

Наименование1 Значение1
Наименование1 Значение2
Наименование1 Значение3

а нужно так

Поле1 Поле2 Поле3

Наименование1 Значение1 Значение2 Значение3


stud   (2003-11-03 10:01:00) [16]

короче кажется тут не хватает одного человека)))


Zacho   (2003-11-03 10:01:00) [17]


> stud © (03.11.03 09:57) [13]

Такое можно. Если в строку влезет :) Тогда уж лучше BLOB :)


stud   (2003-11-03 09:57:00) [18]

ну на самом деле мне кажется тут задача описана не доконца. возможно ему можно вернуть один столбец, содержащий нужные значения в виде одной большой строки


Zacho   (2003-11-03 09:53:00) [19]

Да снова я глупость написал, все спать надо. Но stud © (03.11.03 09:51) [11] абсолютно никакого отношения не имеет к исходной задаче. Дело в том, что в результирующем НД полейдолжно быть столько же, сколько записейв таблице. Ну и как ты это сделаешь в ХП ?


stud   (2003-11-03 09:51:00) [20]

если процедура возвращает набор в виде одного выходного значения например:
зн1
зн2
зн3
зн4
это как назвать?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо