Aide : requete SQL

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

  1. Merci de me répondre,

    newkiss, veillez me plus informer a propos du procédure 'GROUP_CONCAT(nom)'
    0
    1. 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
  2. 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
    1. 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