dldstyle Posté 19 Août 2008 Partager Posté 19 Août 2008 Salut à tous, En voulant modifier la requête du moteur de recherche sur un site, je me rends compte que j'ai quelques lacunes en SQL : SELECT COUNT(p.`id_product`) AS nb FROM `ps_product` p LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 2) WHERE `active` = 1 AND MATCH (pl.`name`, `description`, `description_short`, `ean13`) AGAINST ('poissons*' IN BOOLEAN MODE) A quoi correspondent les "p" comme dans (p.`id_product`) ? Un site sur lequel je pourrai creuser cette histoire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 19 Août 2008 Partager Posté 19 Août 2008 Bonjour, C'est un alias... Select chp from Ma_table as `p` Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
dldstyle Posté 19 Août 2008 Auteur Partager Posté 19 Août 2008 (modifié) OK le 'As' est un alias mais cela ne m'explique pas pourquoi il y a un 'p' De plus à quoi sert le ...<span class="postcolor">pl ON</span>... de la 1ere ligne... Merci pour ton coup de main ! Modifié 19 Août 2008 par dldstyle Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 19 Août 2008 Partager Posté 19 Août 2008 Ok, je recommence Dans ton cas, c'est un 'p' mais cela pourrait être un 'j' ou 'ma_table' ou 'mon_super_alias_de_table_qui_est_super_long' ... Concernant la première ligne, c'est une jointure... donc, admettons que j'ai 2 tables "table_1" et "table_2". Elles ont pour champ en commun le chp 'ID' (je fais simple) Je veux utiliser les alias "T1" et "T2" pour gagner du temps... La requête pour interroger les deux tables sera : select T1.ID, T2.Nom from Table_1 T1 inner join Table_2 T2 on T1.ID = T2.ID Mais cette requete sera exactement la même : select Table_1.ID, Table_2.Nom from Table_1 inner join Table_2 on Table_1.ID = Table_2.ID Et voilà Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 19 Août 2008 Partager Posté 19 Août 2008 Bonjour, Comme te l'explique Portekoi, ca te permet de renommer une table. En général, on lui donne un nom plus court, soit pour coder plus vite, soit pour utiliser 2 tables identiques dans la même requète, tout en leur donnant des noms différents. Nico. Lien vers le commentaire Partager sur d’autres sites More sharing options...
dldstyle Posté 20 Août 2008 Auteur Partager Posté 20 Août 2008 OK, merci à vous deux. J'ai trouvé une source d'informations très complète et bien expliquée sur les jointures et alias SQL pour ceux que cela intéresserait ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant