IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

select nom de colonne


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 175
    Points : 76
    Points
    76
    Par défaut select nom de colonne
    Bonjour,

    je cherche à effectuer une recherche SQL, mais je ne trouve pas de solution à mon problème.
    je souhaite récupérer le nom de la colonne comportant la valeur max.

    exemple:
    j'ai une table qui comporte 3 colonnes.
    chaque colonne possède une valeur

    je souhaite que le nom de la colonne qui possède la plus grande valeur me soit retournée.

    Quelqu'un peut m'éclairer?

    merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 902
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Si vous avez une telle question auquel il n'existe pas de réponse, c'est que votre base est mal modélisée.

    Je parierais que vos colonnes s'appellent "colone1", "colonne2" et "colonne3" !!!

    A +

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    C'est clair que tu as un gros problème de conception.
    Mais tu peux peut être bidouiller un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select case when max_col1 > max_col2 and max_col1 > max_col3 then 'col1'
    	    when max_col2 > max_col1 and max_col2 > max_col3 then 'col2'
    	    when max_col3 > max_col1 and max_col3 > max_col2 then 'col3'
    	end as nom_col_max
    from ( select max(col1) as max_col1,
    	      max(col2) as max_col2,
    	      max(col3) as max_col3,
           from t
          )
    Sinon tu peux regarder du côté du dictionnaire de ton SGBD couplé à son langage procédural.
    A ne pas utiliser applicativement parlant, mais ça peut aider à faire des recherches dans des bases absolument pas normée.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Je crois plutôt qu'il s'agit de la plus grande valeur entre 3 colonnes sur une même ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
          CASE GREATEST (Col1, Col2, Col3)
               WHEN Col1 THEN 'Col1'
               WHEN Col2 THEN 'Col2'
               WHEN Col3 THEN 'Col3'
          END AS col_max,
          GREATEST (Col1, Col2, Col3) as valeur_max   
    FROM Table1
    Edit : Je crois que greatest ne fait pas partie de la norme SQL, en dehors de Oracle et MySQL il faudra créer une fonction équivalente ou utiliser un CASE.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Select nom colonne type string
    Par bobo10 dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/12/2009, 09h02
  2. Select sur des colonnes dont le nom remplit un critère
    Par radzar dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/05/2009, 12h55
  3. select des noms de colonne d'une table
    Par Juan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/09/2006, 15h14
  4. Répétitions de nom de colonne sur un select
    Par jeanpaul702 dans le forum Oracle
    Réponses: 3
    Dernier message: 07/06/2006, 10h57
  5. Réponses: 2
    Dernier message: 10/02/2006, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo