2 потока в fastreport
Модераторы: m0p3e, edward_K, Модераторы
2 потока в fastreport
субж. что и как надо сделать чтобы в один fastreport отчет загнать 2 независимых потока?
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
А один Create View, но с двумя независимыми ветвями чем не устраивает ?
Потом поля этих ветвей объявить 2 таблицами в одном DataStream'е
Правда не представляю себе задач, где такое (2 независимые ветки в Create View или же 2 Create View независимых) может понадобиться
Потом поля этих ветвей объявить 2 таблицами в одном DataStream'е
Код: Выделить всё
datastream stream1
(
table table1
(
поля первой ветки
)
table table2
(
поля второй ветки
)
;
)
end;
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
нет не походит.
вот такая вот задача. в одном select нельзя вывести то что надо. :Р потому и нужен второй поток.
хотя бы для примера есть вот такое
persons.appointcur == appointments.nrec
apphist.cappoint /== appointments.nrec
и в то самое время надо вывести
persons.appointfirst == appointments.nrec
apphist.cappoint /== appointments.nrec
синонимы не канают. пробовали.
так работает
select * from persons, appointments, synonym appointments app2 where
((
persons.APPOINTfirst==appointments.nrec
and
persons.APPOINTcur==app2.nrec
))
а вот так нет. идет перемножение..
select * from persons, appointments, synonym appointments app2, apphist, synonym apphist apphist2 where
((
persons.APPOINTfirst==appointments.nrec
and
apphist.cappoint /== appointments.nrec
and
persons.APPOINTcur==app2.nrec
and
apphist2.cappoint /== app2.nrec
))
вот такая вот задача. в одном select нельзя вывести то что надо. :Р потому и нужен второй поток.
хотя бы для примера есть вот такое
persons.appointcur == appointments.nrec
apphist.cappoint /== appointments.nrec
и в то самое время надо вывести
persons.appointfirst == appointments.nrec
apphist.cappoint /== appointments.nrec
синонимы не канают. пробовали.
так работает
select * from persons, appointments, synonym appointments app2 where
((
persons.APPOINTfirst==appointments.nrec
and
persons.APPOINTcur==app2.nrec
))
а вот так нет. идет перемножение..
select * from persons, appointments, synonym appointments app2, apphist, synonym apphist apphist2 where
((
persons.APPOINTfirst==appointments.nrec
and
apphist.cappoint /== appointments.nrec
and
persons.APPOINTcur==app2.nrec
and
apphist2.cappoint /== app2.nrec
))
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Беларусь, Минск
- Контактная информация:
Rishat
вот это, по моему, идентично будет тому, что выше написано.
или я идеи не понял?
Что получить-то нужно?
а зачем использовать жесткие подцепки? они и так сложно работают - а тут их аж 2 сразу?select * from persons, appointments, synonym appointments app2, apphist, synonym apphist apphist2 where
((
persons.APPOINTfirst==appointments.nrec
and
apphist.cappoint /== appointments.nrec
and
persons.APPOINTcur==app2.nrec
and
apphist2.cappoint /== app2.nrec
))
Код: Выделить всё
select
*
from
persons
, apphist
, apphist apphist2
where
((
persons.APPOINTfirst == apphist.cappoint
and persons.APPOINTcur == apphist2.cappoint
))
или я идеи не понял?
Что получить-то нужно?
2 dp
а куда выкинули appointments. оттуда также требуется вывести данные.
напр.
ФИО Табельн. № Дата1 Код1 Дата2 Код2
где
persons.fio - ФИО,
persons.tabnmb - Табельн.№,
appointments.appointdate - Дата1,
apphist.codoper - Код1,
app2.appointdate - Дата2,
apphist2.codoper - Код2
в осадке должно получиться вот так
ФИО1 234 23.02.2005 1 25.02.2005 50
ФИО2 235 18.01.2005 1 18.01.2005 1
ФИО3 236 01.01.2005 1 - -
....
использую "обходной путь" в принципе можно получить данные которые мне треба.
select
persons.fio, persons.tabnmb, apphist.codoper, apphist2.codoper , appointments.appointdate, app2.appointdate
from
persons
, apphist
, apphist apphist2
, appointments
, appointments app2
where
((
persons.APPOINTfirst == apphist.cappoint
and persons.APPOINTcur == apphist2.cappoint
and apphist.cappoint == appointments.nrec
and apphist2.cappoint == app2.nrec
));
большой сенкс. вы мне подали мне хорошую идею. )
будем пытать.. надеюсь больше проблем не возникнет..
т.к. мне еще порядка 3-4 табл к этому запросу цеплять.
а куда выкинули appointments. оттуда также требуется вывести данные.
напр.
ФИО Табельн. № Дата1 Код1 Дата2 Код2
где
persons.fio - ФИО,
persons.tabnmb - Табельн.№,
appointments.appointdate - Дата1,
apphist.codoper - Код1,
app2.appointdate - Дата2,
apphist2.codoper - Код2
в осадке должно получиться вот так
ФИО1 234 23.02.2005 1 25.02.2005 50
ФИО2 235 18.01.2005 1 18.01.2005 1
ФИО3 236 01.01.2005 1 - -
....
использую "обходной путь" в принципе можно получить данные которые мне треба.
select
persons.fio, persons.tabnmb, apphist.codoper, apphist2.codoper , appointments.appointdate, app2.appointdate
from
persons
, apphist
, apphist apphist2
, appointments
, appointments app2
where
((
persons.APPOINTfirst == apphist.cappoint
and persons.APPOINTcur == apphist2.cappoint
and apphist.cappoint == appointments.nrec
and apphist2.cappoint == app2.nrec
));
большой сенкс. вы мне подали мне хорошую идею. )
будем пытать.. надеюсь больше проблем не возникнет..
т.к. мне еще порядка 3-4 табл к этому запросу цеплять.
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Беларусь, Минск
- Контактная информация:
Rishat так я и спрашивал - что нужно получить?
потому как не зная задачи нельзя предложить точное решение.
и в целом, по-моему, нужно избегать жестких подцепок - потому как очень не очевидно как они отработают и что получится на после компиляции (бывает что срабатывают на внешней выгрузке и это очень большие тормоза).
уж лучше построить на обычных подцепках, а там где не хватает индекса написать (noindex)
потому как не зная задачи нельзя предложить точное решение.
и в целом, по-моему, нужно избегать жестких подцепок - потому как очень не очевидно как они отработают и что получится на после компиляции (бывает что срабатывают на внешней выгрузке и это очень большие тормоза).
уж лучше построить на обычных подцепках, а там где не хватает индекса написать (noindex)