Вниз
Скачать: CL | DM;

Помогите с запросом   Найти похожие ветки 

 
Доменик   (2011-08-31 14:11) [0]

Пишу запрос в PL\SQL (БД: Oracle 10g).

select t.*, MyFunc(t.FirstName) fname from MyTable t
order by fname desc

Если к данному запросу включить условие Where fname > 10, запрос не работает, выводит ошибку ORA00904 "fname" invalid identifier. Не правильное Имя столбца. Если же сделать Where MyFunc(t.FirstName) > 10, запрос работает. Но получается ведь я через функцию одно и тоже 2 раза прогоняю? Как поступать в таких случаях подскажите?


 
Inovet ©   (2011-08-31 14:17) [1]

WHERE работает с исходными данными, а с двойным вызовом по идее оптимизатор должен разбираться.


 
OW ©   (2011-08-31 14:21) [2]

http://delphimaster.net/view/3-1314343082/


 
Доменик   (2011-08-31 14:29) [3]


> http://delphimaster.net/view/3-1314343082/


То что надо, спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
2-1315318888
Gu
2011-09-06 18:21
2011.12.18
Dll метод


15-1314943782
Дмитрий С
2011-09-02 10:09
2011.12.18
"Любую точку выпуклой функции можно назвать экстремумом."


2-1315514369
Германн
2011-09-09 00:39
2011.12.18
Компонент для вывода текста.


4-1232705413
WanderBuild
2009-01-23 13:10
2011.12.18
Как правильней получить список процессов?


15-1314204395
Кто б сомневался
2011-08-24 20:46
2011.12.18
Свежая Windows 7 - проблемы с удалением файла




   Наверх