Bonjour,
J'ai une table T1 qui a les enregistrements comme suit:
la creation de la table T1:
les enregistrements sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE T1 ( id INT AUTO_INCREMENT, C1 INT NOT NULL, C2 VARCHAR(10) NOT NULL, C3 FLOAT NOT NULL, PRIMARY KEY(id) );
__id___C1____C2_____C3_
1 | 1 | SOM | 33 |
2 | 1 | LAM | 39 |
3 | 1 | DOU | 48 |
4 | 1 | PAL | 41 |
5 | 2 | ETH | 52 |
6 | 2 | YEM | 10 |
7 | 2 | MAR | 28 |
8 | 3 | SOU | 37 |
9 | 4 | INDO | 67 |
_______________________
Je voudrais regrouper dans une seule ligne les enregistrements pour C1.
les 4 premiers enregistrements concernent C1 = 1
les 3 enregistrements suivants concernent C1 = 2
l'enregistrement suivant concerne C1 = 3
le dernier enregistrement concerne C1 = 4
le résultat souhaité est une table T2 qui a la structure suivante:
___C1___________C2__________C3___
1 | SOM, LAM, DOU, PAL | 161 |
_________________________________|
2 | ETH, YEM, MAR | 90 |
_________________________________|
3 | SOU | 37 |
_________________________________|
4 | INDO | 67 |
_________________________________|
tel que C3 de T2 = somme des C3 de T1 pour C1 donné
C2 de T2 = valeurs de C3 séparées par une virgule de T1 pour C1 donné.
C3 pour C1 = 1 est 33 + 39 + 48 + 41 = 161
C3 pour C1 = 2 est 52 + 10 + 28 = 90
... etc
Merci
Partager