Je suis en train d'extraire des donnees d'une base, et par une requete j'arrive a obtenir quelque chose de ce style:
Code School Grp Test
12 HS M 12
12 HS F 14
Ce que je voudrais reussir a faire, c'est regouper les lignes en creant de nouveaux champs:
Code School Test_M Test_F
12 HS 12 14
Le probleme, c'est que je ne sais pas vraiment comment faire...
Publicité
Posté le 21-04-2009 à 03:31:02
olivthill
Posté le 21-04-2009 à 10:05:38
Il y a deux possibilités :
- soit en utilisant les requêtes croisées dynamiques
- soit en utilisant une requête qui pourrait ressembler à ceci :
Insert into newtable(Code, School, Test_M, Test_F)
Select Code, School, Test, 0
From currenttable
Where Grp = "M"
Union
Select Code, School, 0, Test
From currenttable
Where Grp = "F"
Cette requête combine un insert et un select, ce qui est autorisé avec le SQL d'Access.
Cette requête utilise une union, ce qui est autorisé avec le SQL d'Access. Mais on peut aussi éviter l'union en faisant deux requêtes au lieu d'une seule.
Cette requête utilise des guillemets au lieu d'apostrophes autour de M et F, car c'est la syntaxe employée par les SQL d'Access.