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 :

Alias de nom de champ sur un SELECT * - est-ce possible ?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 35
    Points
    35
    Par défaut Alias de nom de champ sur un SELECT * - est-ce possible ?
    Bonjour,
    j'ai une requete SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table1 LEFT JOIN table2 ON table1.id  = table2.id
    J'utilise ensuite cette requete dans un mysql_fetch_array en php.
    Puis-je donner un alias au nom de champ "table1.id" ?
    Je sais que c'est possible en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ1 AS a, champ2 AS b FROM table1 LEFT JOIN table2 ON table1.id  = table2.id
    Mais le probleme est que j'ai une centaine de champ à traiter et je ne souhaite pas tous les ecrire à la main...
    Est-ce possible sur un SELECT * ?

    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    L'alias se fait dans le SELECT. Donc pas de liste de colonne => pas d'alias.

    Tatayo.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    L'alias se fait dans le SELECT. Donc pas de liste de colonne => pas d'alias.

    Tatayo.
    C'est bien ce que je craignais...
    Bon ben c'est parti pour la saisie...
    Merci

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Quel est l'intérêt d'avoir 100 colonnes retournées ? Avez vous prévu une écran 365431321321321 pouces pour que vos utilisateurs visualisent les résultats ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    SqlPro, ça n'est pas parce que vous travaillez sur un petit laptop que les clients de mica n'utilisent pas le TH-152UX1

    Sinon outre le fait que 100 colonnes ça fait vraiment beaucoup, il est possible de générer la liste des colonnes en utilisant les tables systems, pour mysql par exemple The INFORMATION_SCHEMA COLUMNS Table

    Sans avoir testé donc probablement à adapter, ça pourrait donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select concat(
             (select group_concat(COLUMN_NAME) 
                from INFORMATION_SCHEMA.COLUMNS
               where TABLE_NAME = 'TABLE1')
             ,',',
             (select group_concat(COLUMN_NAME) 
                from INFORMATION_SCHEMA.COLUMNS
               where TABLE_NAME = 'TABLE2')
             ) as liste_colonnes
    En tout cas select * en prod c'est mal, ça n'est utile que pour les tests.

  6. #6
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Je crois que ces tables systèmes ne sont accessibles qu'à partir de MySQL 5.0.2
    Sinon, tu dois avoir tout un tas de méthodes à l'arrache, genre :
    - Faire un show columns puis :
    > Copier coller le résultat dans Excel, ajouter une colonne avec que des virgules, refaire un copier coller en collage spécial pour transposer
    > Utiliser un truc qui te permet de faire des regexp ou manipulations de masse (genre ultraedit, vim, ...)

    - Souvent, dans les requêteurs graphique et / ou gestionnaires de BD, il y a des fonctionnalités du genre "générer le script SELECT"

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

Discussions similaires

  1. Créer deux nouveaux champs sur un SELECT
    Par kevin96 dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/05/2012, 18h33
  2. Réponses: 2
    Dernier message: 01/06/2011, 12h14
  3. meme nom de champs pour un select
    Par damiensan dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/06/2009, 10h49
  4. Noms du champ sur l'axe du graphique
    Par alainmante dans le forum IHM
    Réponses: 3
    Dernier message: 21/06/2008, 18h17
  5. 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

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