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. 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
    1. 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. 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