Alias multiples en SQL

buzzkaido Messages postés 11 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 4 octobre 2006 - 3 mai 2006 à 08:36
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010 - 3 mai 2006 à 11:33
Bonjour !


J'ai cherché ailleurs, mais pas trouvé...


Je voudrais renommer les champs d'une table en utilisant des alias, du style :


SELECT

utilisateurs.id AS personne_id

FROM

utilisateurs

WHERE

marequete


Mais je voudrais renommer TOUS les champs : du style


SELECT

utilisateurs.* AS personne_*

FROM

utilisateurs

WHERE

marequete


et recuperer

personne_id

personne_nom

personne_prenom

......


Pourquoi ? paske pour ce que j'en fais après, c'est plus pratique d'avoir les champs renommés !!!


Une requete du genre


SELECT

utilisateurs.id AS personne_id

utilisateurs.nom AS personne_nom

utilisateurs.prenom AS personne_prenom

.........

FROM

utilisateurs

WHERE

marequete


est à proscrire, paske si je rajoute un champ plus tard, je veux pas avoir à recoder toutes mes requetes....


Kkun aurait une piste ?


Merchi !

1 réponse

huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 mai 2006 à 11:33
En fait, tu va être obligé de passer par du php pour construire ta requête.
En utilisant  :
$requete = "SHOW FIELDS FROM cartes";
$resultat=mysql_db_query(SQL_BASE,$requete,$bp);
$champs = array();
$i=0;
while($tmp=mysql_fetch_array($resultat))
{
   $champs[$i] = $tmp["Field"];
    $i++;
}

tu récupère la liste des champs de ta table, il ne te reste plus qu'à construire ta requête :

$requete = "SELECT ";
for($i=0; $i < count($champs); $i++)
{
if($i>0)
{
$requete .=", ";
}
$requete .=$champs[$i]." AS personne_".$champs[$i];
}

$requete .= " FROM utilisateurs ";

...

et voilà

huberdine, mais dort aussi ...
0
Rejoignez-nous