Bonsoir à tous et à toute,
je vais essayer d'etre le plus clair possible.
j'ai 4 tables :
www_books : stock ouvrages de littérature (900 000 enregistrement)
www_cat : contient les catégories, qui comprenne plusieurs ouvrages chacunes (ex : "art & civilisation" , "romans" ).
www_general : contient les ID des cat générales, qui contiennet des ss catégorie (www_cat)
www_abs : contient les résumé des ouvrages (table séparé car un livre peut faire parti de plusieurs librairies, et donc avoir un résumé différent, elle comprend a peu pret 28000 enregistrement)
le champ art_id est la clé primaire de la table : www_books, www_cat, www_abs
mon but étant de faire une requête qui sélectionne les livres ainsi que leur résumé (qu'il en ai ou pas) d'une certaine catégorie.
il se trouve qu'ici faire une jointure entre la table www_abs et www_books, est non seulement suicidaire au niveau du temps d'exécution, mais en plus ne répondrai pas mon attente, puisse que la table www_abs contient les livre ayant un résumé, or moi il serait bien de récupéré les livre de la catégorie concerné qu'il est un livre ou pas.
donc j'avais commencé à faire une requete imbriqué qui, déjà récupéré les bouquins de la catégorie que je souhaitais, pas eu de problème pr cela.
donc la je récupére bien les livre de la catégorie que je veux, assez rapidement meme, mais now j'aimerais savoir comment m'y prendre pour aller chercher le résumé de chacun de ces livre, en optimisant au maximum le temp de traitement, et en éliminant les éventuels doublons qui pourrait survenir si un livre est ds plusieur librairies.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select b.art_id from www_books as b where b.art_id IN ( select art_id from www_books, www_general g, www_cat c where c.cont_cat_top_id = g.gen_chapid_impress )
merci bcp, demander des précision si c pas très clair.
a bientot
Partager