Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование IBDataSet


_Strelok_ ©   (2003-12-29 11:37:00) 

Уважаемые мастера.
Подскажите пожалуйста, как использовать данные выбранные из базы
одним IBDataSet в другом, например объединить два IBDataSet"а в третий по некоторому условию.
может быть как-нибудь через параметры, но как конкретно?


kaif   (2003-12-30 00:23:00) [1]

А может это все в хранимую процедуру запихать?
Пусть сервер разбирается. Я бы так сдалал.


jack128   (2003-12-29 21:31:00) [2]


> Нельзя так! Из набора данных - да в другой... Ну, если очень
> хочется, то, например, путем загрузки в клиентский набор

FIBPlus содержит средства работы со своим буфером записей. Можно, в том числе, копировать/перемещать записи из одного набора данных в другой..


Igor_Sams   (2003-12-29 15:56:00) [3]

Точнее там даже 4 выборки,
и надо объединить их в пятую с учётом вышеприведённых условий


_Strelok_   (2003-12-29 15:54:00) [4]

Есть 2 IBDataSet c выборкой примерно такого вида

select client, sum(Total) AS Debt_mezh from
Accounts
where Service = 5270 and counted <:EData and Paid is null
group by Client
order by Client

И ещё третий

select ps.client,
(select cl.name from clients cl where cl.id = ps.client) as CL_name,
(select * from Normal_Addr(ps.house,ps.flat,0)) as CL_adr,
ps.balance,
ps.Number
from permserv ps left join pauses pa
on (ps.id=pa.service and pa.enter is Null)
where (ps.service = 1) and (ps.cancel is Null)
and (pa.id is null) and (PS.Number >= 110000)
order by 1

Надо выполнить примерно такой запрос с объединением этих трех выборок

select C.client,C.CL_Name,C.CL_Adr,C.Number,
D1.Debt_Ab AS Sdebt_Ab, D2.Debt_Mezh AS SDebt_Mezh, D3.Debt_teleph AS SDebt_teleph,
C.Balance
from ClientsFis C left join DebtFisAb D1
on (D1.Client = C.Client)
left join DebtFisMezh D2
on (D2.Client = C.Client)
left join DebtFisTeleph D3
on (D3.Client = C.Client)
where D1.Client IS NOT NULL or D2.Client IS NOT NULL or D3.Client is not null
order by C.Client


MV   (2003-12-29 15:06:00) [5]

Нельзя так! Из набора данных - да в другой... Ну, если очень хочется, то, например, путем загрузки в клиентский набор. Но, скорее всего, этот вопрос у тебя от недопонимания принципов работы с наборами данных. Опиши поподробнее задачу.


DCoder   (2003-12-29 12:19:00) [6]

1-Исползуя объединения таблиц в SQL запросе
2 - С помощью Lookup полей

>но как конкретно?
Напиши конкретно свою задачу и получишь конкретный ответ


Наверх

Титульная страница Поиск, карта сайта Написать письмо