Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/10/2011, 10h34   #1
Invité régulier
 
Inscription : février 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 27
Points : 6
Points : 6
Envoyer un message via MSN à mica94
Par défaut Alias de nom de champ sur un SELECT * - est-ce possible ?

Bonjour,
j'ai une requete SQL:
Code :
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 :
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
mica94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 11h08   #2
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 093
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 093
Points : 1 900
Points : 1 900
Bonjour,
L'alias se fait dans le SELECT. Donc pas de liste de colonne => pas d'alias.

Tatayo.
tatayo est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/10/2011, 12h08   #3
Invité régulier
 
Inscription : février 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 27
Points : 6
Points : 6
Envoyer un message via MSN à mica94
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
mica94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 14h23   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 19h53   #5
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
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 :
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.
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/11/2011, 14h02   #6
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
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/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h06.


 
 
 
 
Partenaires

Hébergement Web