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 ...
Partager