Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2007, 10h24   #1
Invité régulier
 
Inscription : septembre 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 43
Points : 6
Points : 6
Par défaut Passer une valeur en colonne

Bonjour,

J'ai une table qui enregistre la configuration d'un module. Elle se présente comme ceci :

Code :
1
2
3
4
5
6
 
ID|idRef |Setting           |Value
1|1      |documentRoot      |/web/ew/eew/
2|1      |LANGUAGE          |fr
1|2      |documentRoot      |/web/asa/eew/
2|2      |LANGUAGE          |en
Et j'aimerais tranformer les valeurs de la table en ceci après un select :

Code :
1
2
3
4
 
idRef |documentRoot        |LANGUAGE
1     |/web/ew/eew/        |fr
2     |/web/asa/eew/       |en
J'ai lu la documentation et j'ai pas trop quelque chose de concluant, je pensais le faire avec de CASE.. WHEN.. THEN.. Mais je pense que c'est pas le bon chemin, d'autant plus qu'il y a certainement plus simple et dynamique :-)

Merci d'avance,

Hacken
Hacken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 11h05   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 422
Points : 6 422
Bonjour,

Tu dois pouvoir t'en sortir avec une auto-jointure sur ta table :
Code :
1
2
3
4
SELECT a.idRef, a.value AS documentRoot, b.value AS LANGUAGE
FROM matable a
INNER JOIN matable b ON a.idRef = b.idRef AND b.Setting = 'language'
WHERE a.Setting = 'documentRoot'
A tester...

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 11h07   #3
Invité régulier
 
Inscription : septembre 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 43
Points : 6
Points : 6
Salut et merci pour ta réponse.

C'est également ce que j'avais pensé, mais j'aurais aimé savoir s'il y avait une solution permettant de le faire dynamiquement.

Parce que le nombre de paramètres va sûrement changer beaucoup et j'aimerais pas à chaque fois changer ma requête

A+
Hacken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 12h15   #4
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 422
Points : 6 422
A ma connaissance, sauf en passant par une fonction qui renverrait une table et un curseur qui boucle sur les différents Settings, ça n'est pas possible.
Il faut voir si ta version de MySQL permet les fonctions utilisateurs...

Désolé

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h07.


 
 
 
 
Partenaires

Hébergement Web