passing a multiple join to a function?
От | Louis-David Mitterrand |
---|---|
Тема | passing a multiple join to a function? |
Дата | |
Msg-id | 20071217130629.GA8338@apartia.fr обсуждение исходный текст |
Ответы |
Re: passing a multiple join to a function?
|
Список | pgsql-sql |
Hi, I've got this ugly case statement that I'd like to hide in a function: select...case when d.start_date <= CURRENT_DATE and case when w.show_type in ('cinéma','livre') then d.start_date>= CURRENT_DATE - 21 else (d.end_date >= CURRENT_DATE or d.end_date is null) endthen '0_actualite'when d.start_date > CURRENT_DATEthen '1_agenda'else '2_archive'endas timing...from story s join show w on (s.id_show = w.id_show) join show_date d on (d.id_show = w.id_show and d.start_date = (select d2.start_date from show_date d2 where d2.id_show = w.id_show order by d2.end_date>= CURRENT_DATE desc, d2.start_date limit 1) )... I could very well create a show_timing(int) function that accepts an id_show and performs its own, additional, multiple join complex query on story, show_date, and show. Is there a way of feeding enough data to the function to avoid another query? Thanks,
В списке pgsql-sql по дате отправления: