Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
ВнизСортировка по вычислимому полю в TQuery Найти похожие ветки
← →
clarin (2002-03-19 14:24) [0]Плииииз....помогите советом....Как можно отсортировать таблицу по вычислимому полю в TQuery?
← →
Johnmen (2002-03-19 14:27) [1]Ты бы хоть для приличия написал какая база !
Если IB, то используй FIBPlus...
А вообще - НИКАК !!!
← →
fishka (2002-03-19 14:43) [2]В конце Query можно написать так:
order by 2
//
где 2 - номер вычисляемого поля в запросе, например:
select p1, sum(p2)
from ....
order by 2
← →
Fareader (2002-03-19 14:48) [3]>Johnmen
Не стоит быть таким категоричным, fishka дело говорит
← →
Johnmen (2002-03-19 14:48) [4]>fishka : это если вычисляетя в запросе да и вычисления простые,
а если в приложении вычисляемое поле у НД - см.выше...
← →
clarin (2002-03-19 14:49) [5]Johnmen: база Oracle
fishka: в SQL-запросе я сделать не могу, т.к. на этапе открытия таблицы выполняется событие OnCalcFields , в котором и обсчиьываеься значение текщей записи для данного поля...
← →
clarin (2002-03-19 14:49) [6]Johnmen: база Oracle
fishka: в SQL-запросе я сделать не могу, т.к. на этапе открытия таблицы выполняется событие OnCalcFields , в котором и обсчитывается значение текщей записи для данного поля...
← →
Johnmen (2002-03-19 14:54) [7]Тогда повторюсь - НИКАК !
← →
clarin (2002-03-19 15:02) [8]мда...беда...
← →
Alexandr (2002-03-19 15:04) [9]а чего беда-то?
У тебя же Oracle!
Вычисляй на сервере, а не на клиенте.
И сортируй там
← →
clarin (2002-03-19 15:21) [10]Alexandr: у меня в query1 поля: key,naim,...
в query2: key,cost,...
так вот мне нужно в DBGrid-е показать Query1 с полями naim,cost
Это упрощенная задача,но воббще-то Query1 еще связано с Query3,Query4 и тд по коду key.
на обработку Query1.OnCalcFields вывожу по коду key данные из Query2 по тому же коду значение поля naim...
И поэтому я не совсем поняла: что значит вычислять на сервере....
← →
Val (2002-03-19 15:41) [11]clarin (19.03.02 15:21)
И поэтому я не совсем поняла: что значит вычислять на сервере....
Создайте на сервере представление, раз уж часто работаете с данными в таком виде.
← →
Lusha (2002-03-19 15:41) [12]Господа имеют Вам сказать, сударыня, что возможно следующее написание запроса к БД
SELECT d.naim, d.cost, e.naim as naim1
FROM Table1 d, Table2 e
WHERE d.key = e.key
в этом случае Вы получите вычисляемое поле, вычисленное непосредственно на серевере...
← →
clarin (2002-03-19 16:22) [13]Вы правы,что если хочешь нормальный ответ-правильно задай вопрос...чего сделать не смогла..не правильно сформулировала вопрос..
Так вот Query1 в вычислимом поле naim собирает по коду key_ из всех Query2 по полю naim2,Query3 по полю naim3,Query4 по полю naim4 и тд naim:=naim1+naim2+naim3+...-полное наименование, а если naim1,naim2,naim3 и тд пустые-то в naim:="удален "
и я все это проделала в Query1.OnCalcFields
← →
Lusha (2002-03-19 16:34) [14]Честно говоря я мало что понял кроме того, что вычисляемое поле есть конкатенация некоторых полей из выборки, Она легко реализуется в одном запросе, как впрочем и условие проверки на NULL некоторых полей...
← →
alexandervasjuk (2002-03-19 16:36) [15]Клэрин
почему все это нельзя организовать в базе как процедуру и обращаться к ней с order by?
← →
clarin (2002-03-19 16:49) [16]спасибо всем...навели на мысль.....хочу опробовать :)
← →
Sergey13 (2002-03-20 09:20) [17]2alexandervasjuk © (19.03.02 16:36)
Зачем городить огород с процедурой если это решается простым запросом. Lusha © абсолютно прав. Запрос может выглядеть примерно так:
SELECT a.key,a.name||nvl(b.name,"")||nvl(c.name,"") all_name
FROM table1 a, table2 b, table3 c
WHERE a.key=b.key(+) AND a.key=c.key(+)
ORDER BY 2
(+) можно не ставить если значения в table2 и table3 гарантировано есть. NVL тоде можно не использовать если значения гарантировано не NULL. Количество таблиц можно отредактировать по необходимости.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c