Aide : requete SQL

Fermé
Joker_ Messages postés 172 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 20 janvier 2023 - 22 déc. 2010 à 11:42
newkiss Messages postés 127 Date d'inscription mardi 7 septembre 2010 Statut Membre Dernière intervention 12 janvier 2015 - 23 déc. 2010 à 22:24
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 vendredi 21 août 2009 Statut Membre Dernière intervention 30 novembre 2011 64
22 déc. 2010 à 11:56
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 mardi 7 septembre 2010 Statut Membre Dernière intervention 12 janvier 2015 13
Modifié par newkiss le 22/12/2010 à 12:14
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 mardi 13 octobre 2009 Statut Membre Dernière intervention 20 janvier 2023 1
22 déc. 2010 à 16:05
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 mardi 7 septembre 2010 Statut Membre Dernière intervention 12 janvier 2015 13
23 déc. 2010 à 22:24
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