select et requêtes récursives
Posté : 18 mai 2006, 12:44
Bonjour à tous,
Afin d'optimiser mes requêtes (donc de les limiter, tout au plus), j'aimerais executer qu'une seule requête qui récupère d'un coup tous les éléments d'une table, ainsi que des résultats correspondant à deux champs de la première table, je m'explique:
J'ai deux tables: produits et textes
produits contient la liste des produits avec un champ nom et un champ description, tout deux ne font références qu'à la table textes qui contient les textes (pour le support multilangue), ma requete doit pouvoir extraire donc une ou plusieurs lignes de la table produits en retournant par la même, nom pas l'id de nom et de description, mais en faite leur équivalent enregistrer dans la table textes, et en y ajoutant la clause permettant d'avoir le résultat dans la langue voulue.
Ma requête fonctionne comme ceci :
Mais je souhaite aussi qu'il récupère le champ t2.texte, correspondant à t1.description, malheureusement, sous cette forme de requête, cela ne fonctionne pas, je bloque un peut.
Merci pour votre aide.
Olivier.
Afin d'optimiser mes requêtes (donc de les limiter, tout au plus), j'aimerais executer qu'une seule requête qui récupère d'un coup tous les éléments d'une table, ainsi que des résultats correspondant à deux champs de la première table, je m'explique:
J'ai deux tables: produits et textes
produits contient la liste des produits avec un champ nom et un champ description, tout deux ne font références qu'à la table textes qui contient les textes (pour le support multilangue), ma requete doit pouvoir extraire donc une ou plusieurs lignes de la table produits en retournant par la même, nom pas l'id de nom et de description, mais en faite leur équivalent enregistrer dans la table textes, et en y ajoutant la clause permettant d'avoir le résultat dans la langue voulue.
Ma requête fonctionne comme ceci :
Code : Tout sélectionner
select t1.*, t2.texte from produits as t1, texte as t2 where t1.nom = t2.id and t2.lang = "fr";Merci pour votre aide.
Olivier.