Вложенный SQL запрос в линк форме
Добавлено: 18 фев 2003, 14:50
** преамбула -
хочу select * from ... where ... in (select ... from ...) в линке
** вступление -
необходимо в линк форму добавить поле которое в потоке в форму прототип не поступает, т.е. нужно самому в линке запросами по какому то входному параметру (который передается в прототип) спозиционироваться на нужной записи в нужной табличке и вывести рез-т.
задача как я думаю типичная и решенная многими здесь бывающими
** конкретика -
вот последовательность селектов которыми я в суппорте SQL получал необходимые мне записи
доступные параметры имеющиеся в потоке входящем в форму прототип это номер ДО и дата ДО, так что от них и пляшу (в tovn.pro это "основание" и "датаоснования")
в конце концов нужно получить выборку табличных частей всех накладных относящихся к этому ДО
select nrec from basedoc where ((датаоснования/==ddoc(noindex) and основание/==nodoc(noindex)));
дает 4000D82EA5603462h
select nrec from stepdoc where ((4000D82EA5603462h/==cbasedoc));
дает 400015F167097FEEh
select nrec from katsopr where ((400015F167097FEEh==cstepdoc));
дает несколько NRECO и по всем нужно пробежаться, вот один из них
select * from spsopr where ((4000B19E65184F8Ch==csopr));
каждый из них в SQL выполняется меньше секунды
************ ВОПРОС ****************** -
как это все в линк форме реализовать?
если делать несколько create view
1? то как выход одного view послать на вход другого (т.е. на один ДО один селект даст ссылки на накладные, а следующий селект должен по каждой накладной вывести материалы в ней содержащиеся)
2? если связывать в один view несколько таблиц то просто замучаешся ждать (таблицы очень большие) -> их объединененый вид будет делаться ужасно долго. (вышеописанными селектами очень быстренько)
подскажите плс мастера начинающему - как вы в таких ситуациях поступаете
хочу select * from ... where ... in (select ... from ...) в линке
** вступление -
необходимо в линк форму добавить поле которое в потоке в форму прототип не поступает, т.е. нужно самому в линке запросами по какому то входному параметру (который передается в прототип) спозиционироваться на нужной записи в нужной табличке и вывести рез-т.
задача как я думаю типичная и решенная многими здесь бывающими
** конкретика -
вот последовательность селектов которыми я в суппорте SQL получал необходимые мне записи
доступные параметры имеющиеся в потоке входящем в форму прототип это номер ДО и дата ДО, так что от них и пляшу (в tovn.pro это "основание" и "датаоснования")
в конце концов нужно получить выборку табличных частей всех накладных относящихся к этому ДО
select nrec from basedoc where ((датаоснования/==ddoc(noindex) and основание/==nodoc(noindex)));
дает 4000D82EA5603462h
select nrec from stepdoc where ((4000D82EA5603462h/==cbasedoc));
дает 400015F167097FEEh
select nrec from katsopr where ((400015F167097FEEh==cstepdoc));
дает несколько NRECO и по всем нужно пробежаться, вот один из них
select * from spsopr where ((4000B19E65184F8Ch==csopr));
каждый из них в SQL выполняется меньше секунды
************ ВОПРОС ****************** -
как это все в линк форме реализовать?
если делать несколько create view
1? то как выход одного view послать на вход другого (т.е. на один ДО один селект даст ссылки на накладные, а следующий селект должен по каждой накладной вывести материалы в ней содержащиеся)
2? если связывать в один view несколько таблиц то просто замучаешся ждать (таблицы очень большие) -> их объединененый вид будет делаться ужасно долго. (вышеописанными селектами очень быстренько)
подскажите плс мастера начинающему - как вы в таких ситуациях поступаете