Bonjour
je veut modifier le order by de ma query dans report
selon un parametre
comment puis je faire
merci
Version imprimable
Bonjour
je veut modifier le order by de ma query dans report
selon un parametre
comment puis je faire
merci
en utilisant decode par exemple :
Code:
1
2
3
4
5
6 select ... from matable where ... order by decode (:param1, 1, col1, 2, col2), decode (:param1, 1, col2, 2, col3)
Merci beaucoup cela a trés bien marché
8O je ne pensais pas que le DECODE fonctionne dans le order by... pas mal ;)
Sinon, une autre solution est d'utiliser une référence lexical dans la clause order by.
.
c'est à dire ?
Oui, exemple:
x étant un paramètreCode:select * from Table order by &x
&x est la référence lexicale.
Suivant le choix du tri de l'utilisateur dans un before trigger du report, il faut charger la variable x de la liste des colonnes de tri.
Au run, la requête sera parsée avec la clause ordy by puis exécutée.Code:x := 'col2, col1';
J'expose de mémoire aussi ne m'en voulez pas s'il y a de petites erreurs.
.
mais là ça semble être du SQL et non du PL/SQL, me trompe-je ? ;)
Je ne comprend pas trop ce que tu veux dire ???
D'un côté, il y a la requête du Report
et de l'autre, un bout de code PL/SQL dans un trigger...
.
ha oui j'avais oublié qu'on était dans Reports, désolé ;)