Aide : requete SQL

Joker_ Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   -  
newkiss Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Je travaille avec une base de donnée SQL server, J'ai la table suivante
ID | Nom
-----------
10| Alex
20| Robert
30| Sonia
10|'Michel
30| Mike
20| Nicolas

En fait chaque ID est associé à deux Noms!
Je veut que vous m'aider à exécuter une requête SQL permettant d'afficher cette résultat:
ID | Nom1..|Nom2
------------------------
10| Alex....|Michel
20| Robert|Nicolas
30| Sonia |Mike


Merci d'avance

3 réponses

mathew76 Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   64
 
Bonjour

avoir deux colonnes de noms me parait difficile en revanche tu peux faire ca :

select * from tatable order by Id;


ca va te donner :

10| Alex
10| Michel
20| Robert
20| Nicolas
30| Sonia
30| Mike

Bonne journée

Ps : je regarde si c'est possible de faire sur deux colonnes et je te tiens informer.
0
newkiss Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   13
 
avec MYSQL tu aurais pu faire

SELECT  
   id, 
   GROUP_CONCAT(nom) 
FROM maTable 
GROUP BY id


Sous SQL serveur tu pourrais écrire une procédure stockée ou fonction en T-SQL
0
Joker_ Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci de me répondre,

newkiss, veillez me plus informer a propos du procédure 'GROUP_CONCAT(nom)'
0
newkiss Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   13
 
Voici une explication du GROUP_CONCAT en MySQL
http://blog.maiis.ch/2008/09/30/mysql-fonction-group_concat/

En SQL Server, il faudrait créer une fonction "GROUP_CONCAT"

qui prendrai en paramètre ton id et la colonne que tu souhaite concaténer et qui retournerai une chaines avec tous les valeurs de cette colonne

du coup tu pourrais effectuer cette requête
SELECT  
   id, 
   GROUP_CONCAT(id,"nom")  as noms
FROM maTable 
GROUP BY id


pour avoir ce résultat par exemple


ID | Noms
-----------
10| Alex - Michel
20| Robert - Nicolas
30| Sonia - Mike


Je vais essayer de t'écrire la fonction demain si tu n'y arrive pas.
0