|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2008 Messages : 46 ![]() |
Bonjour à tous,
J'annonce dès le début que je suis un bleu en SQL, raison pour laquelle je demande votre aide. Passons tout de suite au problème. J'aimerais construire dynamiquement le résultat selon les différents types de Ligne dans la table ci_dessous. TABLE1 : Axe Ligne Est AA Est BB AA, BB, CC ici peuvent être autres choses On peut les voir comme TABLE2 : (sert de référence, donc est déjà fixée) Ligne_table2 Ligne_libelle A AA B BB C CC D DD E EE Table_A : No Nom A_Lundi A_Mardi A_Mercredi 1 toto 1 2 3 2 titi 5 4 6 Table_B : No Nom B_Lundi B_Mardi B_Mercredi 1 toto 10 20 30 2 titi 25 42 62 Ces tables Table_A, Table_B exisent, correspondant au nom de lignes de la colonne Ligne_table2 de la TABLE2 ci_dessus. 1, 2, toto, titi existent dans ces tables de manières identique. J'aimerais avoir que ma requête retourne : No Nom A_Lundi B_Lundi A_Mardi B_Mardi A_Mercredi B_Mercredi 1 toto 1 10 2 20 3 30 2 titi 5 25 4 42 6 62 Ici le nombre de colonnes dépend de la SELECT DISTINCT Ligne de la TABLE1 J'espère être assez clair dans mon explication, et que vous pourriez m'aider. Merci d'avance ! |
|
|
00
|
|
|
#2 |
![]() ![]() |
En SQL, pas possible.
En PL/SQL, c'est possible. Ouvrez un curseur qui va faire votre select distinct, puis concaténez une belle chaîne de caractères que vous lancerez avec execute immediate.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2008 Messages : 46 ![]() |
Merci Waldar pour la réponse.
Le problème est dans SAS. J'ai posé la question ici en pensant que ca peut se faire en SQL, ce qui n'est pas le cas. Mais pour la pédagogie, ou servir à qq'un qui rencontrera le même problème, pourriez-vous me montrer plus que le chemin pour le résoudre svp ? (Qui sait ?...Je pourrais l'adapter pour qu'il fonctionne dans SAS) |
|
|
00
|
|
|
#4 |
![]() ![]() |
L'idée c'est de construire une requête de type PIVOT en SQL dynamique, faites une recherche sur ce mot clef, c'est un problème récurrent !
Mais en principe, cette mise en page se fait plutôt après (imaginez le tableau croisé dynamique d'Excel), en SQL c'est pour du dépannage mais ça ne résoudra pas tout, notamment le cas du nombre de colonnes inconnus.
__________________
Email : http://scr.im/waldar |
|
00
|
Copyright © 2000-2012 - www.developpez.com