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

Вниз

For Select (IB) аналог в ?   Найти похожие ветки 

 
masik ©   (2002-07-23 14:30) [0]

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


 
zx ©   (2002-07-23 14:37) [1]

Может я не понял ...
select (t1 + t2) * 5, t3 from tabl1


 
masik ©   (2002-07-23 14:53) [2]

Select x, y, z, дополнительное поле которое рассчитывается в отдельном блоке операторов, т.е. надо его приписать к выборке но не простой join



 
masik ©   (2002-07-23 14:56) [3]

прошу прощения у модератора, за такой постинг, просто при отправке сообщения происходит отвал, и непонятно помешено ли сообщени в форум


 
zx ©   (2002-07-23 15:03) [4]

Где рассчитывается дополнительное поле?
И как его надо приписать?


 
masik ©   (2002-07-23 15:11) [5]

Дополнительное поле представляет собой Select из нескольких записей, в связи с этим данные этих записей я умещаю в поле с разделителями, т.е. делаю Set. Поле рассчитывается по идентификатору из (Select x, y, z) в отдельной процедуре.


 
Дмитрий Баранов ©   (2002-07-23 15:44) [6]

Более-менее универсальное решение - см.
Create function
в Books online


 
zx ©   (2002-07-23 15:48) [7]

Все равно не понял?:(
как связывать, почему join не пойдет?
сделай через Views.


 
Johnmen ©   (2002-07-23 15:56) [8]

>masik ©

Что-то много постов, а результата не видать...:)
Лучше приведи, как это ты делаешь для IB, а мы тебе скажем, как это переделать под MSSQL.


 
masik ©   (2002-07-23 16:34) [9]

постов много по неясным причинам ин7тернет связи, а ответ нужен один
В IB это писалось примерно так:
returns
pCol1, pCol2, pCol3, pCol4
for
Select Col1, Col2, Col3
from Table1
into :pCol1, :pCol2, :pCol3
do begin
:pCol4="";
for
Select Col21
from Table2
Where Param=:pCol1
into :pCol5
do
:pCol4=:pCol4+pCol5
suspend; //возврат значений pCol1, pCol2, pCol3, pCol4
end
в результате получается один набор данных
При подобной организации циклов с использованием курсоров получается тотже результат, но каждая возвращенная запись
(Select [Col1]=@Col1, ...) получается помещенная в своем наборе данных, соответственно Grid отображает только одну единственную запись из первого набора.
Я понимаю, что можно создать временную таблицу, запихнуть в нее данные и потом сделать общий селект, а без ентого как


 
masik ©   (2002-07-24 09:06) [10]

Народ, ну хоть кто нибудь.
через временную таблицу сделал. а все таки


 
icu ©   (2002-07-24 09:27) [11]

Посмотри описание оператора Fetch.


 
zx ©   (2002-07-24 09:55) [12]

По-моему это можно реализовать через CASE


 
masik ©   (2002-07-24 10:09) [13]

icu ©, ткни пальцем.
FETCH позиционирует курсор, да, позволяет выбрать строку, но результат то

au_lname au_fname
---------------------------------------- --------------------
Blotchet-Halls Reginald

au_lname au_fname
---------------------------------------- --------------------
del Castillo Innes


и в гриде видно
"Blotchet-Halls Reginald "


 
masik ©   (2002-07-24 10:42) [14]

zx ©, а можно делать
Select from "procedure"
сколько ни ковырял подобного примера не видел


 
zx ©   (2002-07-24 12:02) [15]

Нет, только из views
Если в конце procedure стоит select то
exec procedure будет возвращать нд.


 
Delirium ©   (2002-07-24 14:33) [16]

Если призвести незначительное изменение в системной таблице:
update master.dbo.sysservers Set srvstatus=1440 where srvid=0
То становится возможным использовать функцию OpenQuery:
select * from OpenQuery(MyServer,"exec MyProc")



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

Текущий архив: 2002.08.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
3-35143
Lego
2002-07-18 09:19
2002.08.12
Как установить /сменить пароль на Paradox ?


3-35176
Sour
2002-07-19 21:11
2002.08.12
GDB -> DBF


3-35226
Crazy Joker
2002-07-19 11:29
2002.08.12
Помогите! Форма не отображается пока не выполнится запрос к БД .


1-35351
Abelevich
2002-07-29 19:56
2002.08.12
ShowModal


1-35293
sdram
2002-07-29 14:34
2002.08.12
Почему 800 in [700..900] не работает