Bonjour,
J'ai une table qui comprend 8 colonnes
Je veux faire un SQL dans le quel je choisie les colonnes à afficher suivant un paramètre
Merci
Bonjour,
J'ai une table qui comprend 8 colonnes
Je veux faire un SQL dans le quel je choisie les colonnes à afficher suivant un paramètre
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select case when :param = 1 then col1 when :param = 2 then col2 when :param = 3 then col3 else null end as "Col a afficher" from table
Je veux la chose suivante:
si param = 1 sélectionner col1 et col2
si param = 2 sélectionner col3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT case when :param = 1 then to_char(col1)||to_char(col2) when :param = 2 then col3 else NULL end AS "Col a afficher" FROM TABLE
c'est un manque de compréhension de sql que de vouloir un nombre dynamique de colonne!
soit la soluce ojo en concaténant l'output (mais c'est pas vraiment 2 colonnes).
Ou éventuellement une soluce dégueu à la sauce sqlplus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SQL> col n new_v n SQL> select decode(¶m,1,'ename',2,'ename,sal','*') n from dual; Enter value for param: 1 N ----- ename SQL> select &n from emp; ENAME ---------- SMITH ALLEN WARD ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SQL> col n new_v n SQL> select decode(¶m,1,'ename',2,'ename,sal','*') n from dual; Enter value for param: 2 N --------- ename,sal SQL> select &n from emp; ENAME SAL ---------- ---------- SMITH 800 ALLEN 1600 WARD 1250 ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager