Transposer les lignes de la table à colonne
Question
J'ai une table qui ressemble à ceci:
id response_id name value
6 13 gender female
5 13 workingArea Sch
3 12 workingArea IT
4 12 gender male
et je souhaite convertir en quelque chose comme ceci:
response_id workingArea gender
12 IT male
13 Sch female
Mai je sais comment faire?
La solution
En supposant que votre première table est SourceTable et votre deuxième table est targettable
INSERT INTO TARGETTABLE(response_id, workingArea, gender)
SELECT a.response_id response_id,
a.value workingArea,
b.value gender
FROM SOURCETABLE a, SOURCETABLE b
WHERE a.response_id = b.response_id
AND a.name <> b.name
AND a.name = 'workingArea'
AND b.name = 'gender'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow