Requête SQL pour connexion entre 3 tables liées..

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par Eric Holo, 30 Août 2005.

  1. Eric Holo
    Eric Holo Nouveau WRInaute
    Inscrit:
    21 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    Salut,
    Voici le topo :
    J'ai une table "t_doc", une table "t_info", et une "t_info_doc" qui lie les id des deux premières..
    Mon but est d'avoir la liste des documents qui ne sont pas déjà liés à une ou plusieurs infos..

    Ma démarche serait de faire la liste des id_doc, celle des id_info_doc, soustraire les deux pour obtenir les id_doc non connectés à des id_doc..

    Pouvez-vous m'aider ??
     
  2. /* jerome */
    /* jerome */ Nouveau WRInaute
    Inscrit:
    23 Août 2005
    Messages:
    16
    J'aime reçus:
    0
    Quelque chose de ce genre devrait fonctionner :

    Code:
    SELECT t_doc. *
    FROM t_doc
    LEFT  JOIN t_info_doc ON t_doc.id = t_info_doc.doc_id
    WHERE t_info_doc.id IS NULL 
    
     
  3. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    petite question : est-ce que une info peut être liée à plusieurs docs ? sinon ta table t_info_doc ne sert à rien
    il suffirait de rajouter un champ doc_id sur la table t_info pour lier les infos aux docs. C'est plus simple, non ?
     
  4. Eric Holo
    Eric Holo Nouveau WRInaute
    Inscrit:
    21 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    Effectivement, 1 info pour plusieurs docs et vice-versa..
    Bonne question..
    Bon j'essaye le script..
     
  5. Eric Holo
    Eric Holo Nouveau WRInaute
    Inscrit:
    21 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    Ca marche parfaitement bien..
    Merci Jerome..
    Voici mon site : http://www.kterre.org
    Cette page me permettra de gérer tout type de documents annexes sur les infos de la chronologie..
     
  6. Eric Holo
    Eric Holo Nouveau WRInaute
    Inscrit:
    21 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    Je souhaite maintenant créer une page de statistiques des pays les plus liés à des infos, il me semble que le principe doit être approximativement le même, excepté le fait que la requête induit un ordre de classement relatif à une autre requète, c'est là où je cale..
    Toujours les tables t_info, t_pays, t_info_pays, et voici la requête de départ:
    Code:
    SELECT t_pays.* 
    FROM t_pays LEFT JOIN t_info_pays 
    ON t_pays.id_pays = t_info_pays.id_pays 
    
     
  7. /* jerome */
    /* jerome */ Nouveau WRInaute
    Inscrit:
    23 Août 2005
    Messages:
    16
    J'aime reçus:
    0
    documente toi sur les clauses "GROUP BY" et "COUNT" de sql ;)
     
  8. Eric Holo
    Eric Holo Nouveau WRInaute
    Inscrit:
    21 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    Voilà ce que j'ai compris (pas assez faut croire..) et essayé mais bon !!
    J'insère dans le SELECT un:
    Code:
    COUNT( "quelque chose" ) AS nbr
    et à la fin:
    Code:
    ORDER BY nbr
    C'est le "quelque chose" qui me fait tourner en rond, je ne vois pas comment y insérer la jointure entre 2 tables !!
    Le nbr représente donc ce nombre de fois où chaque pays est lié à une info via t_info_pays..
    Peux-tu m'orienter encore ??
     
  9. /* jerome */
    /* jerome */ Nouveau WRInaute
    Inscrit:
    23 Août 2005
    Messages:
    16
    J'aime reçus:
    0
    Tu fais ta jointure normalement (avec un =) ce qui va te donner la liste de tous les couples pays<->infos :
    pays1<->info1
    pays2<->info2
    pays1<->info3
    pays3<->info4
    ...
    Ensuite tu utilises la group by pour regrouper tous les couples de chaque pays entre eux, et avec le count tu auras le nombre de couple pour chaque pays donc le nombre d'infos :
    pays1<->2
    pays2<->1
    pays3<->1
    C'est de la logique tout simplement, le mieux c'est que tu cherches par toi meme comment mettre ca en oeuvre concretement (la requete), c'est comme ca qu'on apprend ;)
     
Chargement...
Similar Threads - Requête SQL connexion Forum Date
connexions Mysql a chaque requete ou sur chaque page Administration d'un site Web 6 Juillet 2005
Réunir 2 requetes sql (ORDER BY ASC et DESC) Développement d'un site Web ou d'une appli mobile 29 Août 2021
encodage texte sur requete mysql Demandes d'avis et de conseils sur vos sites 21 Octobre 2020
Requête MySql imbriquée Développement d'un site Web ou d'une appli mobile 8 Octobre 2020
Prestashop - Comportement bizarre d'une requête SQL e-commerce 1 Décembre 2018
Requête Mysql avec des string Développement d'un site Web ou d'une appli mobile 6 Février 2018
La syntaxe SQL permet-elle plusieurs mots-clefs dans une (sous-)requête identique ? Développement d'un site Web ou d'une appli mobile 17 Août 2017
Requete mysql Développement d'un site Web ou d'une appli mobile 30 Mai 2017
Problème requête mysql Développement d'un site Web ou d'une appli mobile 1 Mars 2017
Reduire et optimiser une requete sql Développement d'un site Web ou d'une appli mobile 8 Décembre 2016
Anomalie : beaucoup trop de requêtes SQL Administration d'un site Web 18 Novembre 2016
Besoin d'aide pour requête SQL PHP Développement d'un site Web ou d'une appli mobile 12 Novembre 2016
[php/mysql] Eviter de faire 20 requêtes pour un affichage Développement d'un site Web ou d'une appli mobile 19 Janvier 2016
requete Mysql et classement des résultats Administration d'un site Web 1 Novembre 2015
Mysql requête imbriquée Développement d'un site Web ou d'une appli mobile 1 Octobre 2015
Requetes SQL parfois lente : Selon show profile -> Pb opening table Développement d'un site Web ou d'une appli mobile 8 Juillet 2015
PDO Comment vérifier le SQL d'une Requête ??? Développement d'un site Web ou d'une appli mobile 4 Février 2015
Demande Requête SQL Développement d'un site Web ou d'une appli mobile 19 Janvier 2015
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
Redirection htaccess ou requête sql ? Netlinking, backlinks, liens et redirections 18 Janvier 2014