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

Вниз

Сортировка по вычислимому полю в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
4-33022
Nuhim
2002-02-07 11:36
2002.04.11
Перехват запуска программ.


1-32846
PEC
2002-03-29 10:05
2002.04.11
Привет народ !


1-32900
Neox
2002-03-29 21:26
2002.04.11
Системное Время


6-32910
Ruff-Fish
2001-12-28 09:47
2002.04.11
Как определить координатора локальной сети?


3-32673
grabovsky
2002-03-20 16:32
2002.04.11
сохранение данных в StringGrid