Bonjour,
J'ai une requête A qui me retourne 2 valeurs.
Requête A : select champ1, champ2 FROM tableA
Résultat A: champ1, champ2.
Seulement j'aimerai pouvoir inverser ligne/colonne. Pour cela, j'utilise UNION qui me donne alors une requête B.
Requête B :
select champ1 FROM tableA
UNION
select champ2 FROM tableB
Résultat B
champ1
champ2
Au résultat B, je souhaiterai rajouter une colonne au début qui donne la désignation des valeurs car j'ai ensuite un module qui s'occupe d'afficher selon un graphique choisis, ces valeurs. Mais pour qu'il fonctionne il a besoin d'un tableau Ligne*2.
Résultat B
designation1 champ1
désignation2 champ2
J'ai naïvement essayé :
Et même si la requête s’exécute sans erreur, pas, d'affichage du résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE TABLE T1 ( champ1 varchar(50) ); CREATE TABLE T2 ( champ1 varchar(50) ); INSERT INTO T1 ([champ1]) VALUES('designation1'); INSERT INTO T2 ([champ1]) VALUES('designation2'); SELECT A.champ1, B.champ1 FROM T1 A, tableA B; UNION SELECT C.champ1, D.champ1 FROM T2 C, tableB D; DROP TABLE T1; DROP TABLE T2;
La contrainte, c'est que les tables T1 et T2 doivent rester transparentes pour l'utilisateur de la requête et donc, elles ne peuvent être que temporaires pour l’exécution de cette requête.
Comme pourrais-je m'y prendre pour solutionner ceci ?
Merci d'avance.
Partager