Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête SQL (jointure, count)

...Comment la faire ?

    9 septembre 2010 à 23:39:55

    Bonsoir à tous,
    Je dispose de trois table :
    Table 1 :
    for_for :
    for_id 	| for_nom	| for_desc 	| cat_id	| for_ordre
    1	| exemple	| description	| 1		| 1
    2	| Test		| description 	| 2		| 2
    
    for_top :
    top_id 	| top_titre	| top_auteur	| for_id
    1	| Exemple	| Moi		| 1
    1	| Test		| Moi		| 2
    
    for_post :
    post_id	| post_auteur	| post_contenu	| top_id
    1	| Moi		| exemple	| 1
    2	| Moi		| exemple2	| 1
    3	| Moi		| test		| 2
    4	| Moi		| test2		| 2
    5		| Moi			| test3			| 2
    


    Dans un premier temps, je fais ceci :
    SELECT * FROM for_for WHERE cat_id = :id ORDER BY for_ordre
    

    J'affiche le tout (nom, desc) dans un while mais je souhaite afficher combien il y a de ligne de la table for_top qui contiennent le for_id.
    Mais aussi le nombre total de ligne contenant le(s) top_id dans la table for_post.

    En gros j'aimerais arriver à ceci :
    Nbr_top |  Nbr_Post | for_id
    1        | 2            |        1


    Comment réaliser cette requête ?
    • Partager sur Facebook
    • Partager sur Twitter
      10 septembre 2010 à 1:55:37

      Tu peux pas sans faire des sous-requêtes (Genre SELECT (SELECT COUNT(*) FROM T1), (SELECT COUNT(*) FROM T2) ...).

      Bref, aussi bien faire 3 requêtes. Si tu as fréquemment besoin de ces données, tu peux aussi stocker cette information quelque part dans ta table (là où c'est approprié, ça dépend) et incrémenter la valeur à l'aide d'un trigger.
      • Partager sur Facebook
      • Partager sur Twitter
        10 septembre 2010 à 12:00:00

        Faire des sous requêtes ne me gène pas.
        Mais comment la faire ?
        Parce que :
        je dois compter le nombre de top_id en fonction d'une variable (définie par php)
        je dois compter le nombre de post_id en fonction des top_id mais en plus en fonction de la variable

        C'est complexe nan ? ^^'
        • Partager sur Facebook
        • Partager sur Twitter

        Requête SQL (jointure, count)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown