Bonjour,

Je bloque sur une réquete.

En française, c'est simple : Pour une ligne, je souhaite récupérer le nom des colonnes qui ont une valeur égale à 1 .

En fait, j'ai le tableau suivant :

correspondance_phase_score(phase_exp,score, scoreA, scoreB, scoreC, scoreD, scoreE, scoreF, scoreG, scoreH, scoreI, scoreJ, scoreK, scoreL, scoreM, scoreN, scoreO, scoreP, scoreQ, scoreR, scoreS, scoreT, scoreU, scoreV, scoreW)

('V0', 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0),
('V1', 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1),
('V2', 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
('V3', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0);

Et je souhaite savoir pour V0 par exemple quelle colonne est égale à 1. Je voudrais le résultat suivant : score scoreA score B scoreN scoreO scoreP score

J'ai commencé par cette réquette :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_NAME`='correspondance_phase_score'
ORDER BY ORDINAL_POSITION
qui me selectionne TOUS les noms de colonnes.
J'aimerais rajouter la condition qui manque : un genre de INNER JOIN correspondance_phase_score WHERE score = 1 AND scoreA = 1 AND ...
mais je ne sais pas comment liée cette condition (pour le ON)...

Est-ce que quelqu'un pourrait m'aider ?
Merci beaucoup !