1) Les champs sont à la campagne ou dans les formulaires, pas dans les tables SQL qui ne sont composées que de colonnes et de lignes.
2) Il vaut mieux éviter
la guerre des étoiles !
3) Les
jointures s'écrivent depuis 20 ans avec l'opérateur JOIN ; il serait temps de s'y mettre !
4) L'utilisation d'alias pour les tables est fortement recommandé dès qu'il y a plus d'une table dans la requête. Cela facilite l'écriture et la lecture de celle-ci. Il faut ensuite utiliser systématiquement ces alias devant chaque colonne nommée pour savoir facilement de quelle table elle vient.
Compte-tenu de tout ce qui précède, votre requête devrait ressembler à ce qui suit, en prenant en compte le renommage des colonnes de résultat :
1 2 3 4 5 6 7
| SELECT t1.colonne1 AS t1_col1,
t1.colonne2 AS t1_col2,
t2.colonne1 AS t2_col1,
t2.colonne2 AS t2_col2
-- etc.
FROM table1 t1
INNER JOIN table2 t2 ON t2.cle_etrangere = t1.id |
Ceci dit, je n'en voit pas trop l'intérêt car les colonnes ont, dans un bon modèle de données, un nom à la signification, sinon évidente, au moins compréhensible.
De plus, comme vous allez probablement récupérer le résultat de votre requête dans un tableau PHP, rien ne vous empêche d'indicer votre tableau avec des noms clairs.
Exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // Requête donnant la liste des projets avec le nom et le prénom du chef de projet
$sql = "
SELECT pj.prj_id,
pj.prj_nom,
p.prs_nom,
p.prs_prenom
FROM te_projet_prj pj
INNER JOIN te_personne_prs p ON p.prs_id = pj.prj_id_chef
";
$result = mysql_query ($sql);
while($row = mysql_fetch_array($result))
{
$projets["{$row['prj_id']}"]['id_projet'] = $row['prj_id'];
$projets["{$row['prj_id']}"]['nom_projet'] = $row['prj_nom'];
$projets["{$row['prj_id']}"]['nom_chef_projet'] = $row['prs_prenom'].' '.$row['prs_nom'];
} |
Partager