![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Строки стали столбцами [D5, IB6.x]
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
это как назвать?