Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jointure complexe

Sujet résolu
    8 janvier 2011 à 13:45:24

    Bonjour,

    J'ai toujours un peu de mal avec les jointures, mon problème est le suivant :

    J'ai un fichier avec un id et des champs divers d'informations qui sonr regroupés dans une table "dossier" et un fichier "temps_passe" qui regroupe tous les temps passés sur les dossiers par les visiteurs dans une table "temps_passes", les lignes de cette table sont identifiées par un id qui est le même que celui du dossier auquel le temps passé se rapporte.
    Dans ma table "dossier" j'ai une ligne par fichier, dans ma table "temps_passes" j'ai de nombreuse lignes pour le même fichier (normal le visiteurs pouvant ouvrir son fichier +sieurs fois)

    Comme faire pour récupérer toutes les données en une seule requête ? Trop compliqué pour ma petite tête si qq peut me donner une piste...

    La structure de "dossier"
    id
    Statut
    titreProjet
    natureActivite
    typeProjet
    Client
    


    La structure de"temps_passes" celle ou il y a de nombreux enregistrements avec le même id
    id
    Heure
    NomPage
    HeureFin
    Duree
    
    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2011 à 13:57:59

      bonjour,
      donc id c'est id_dossier dans les 2 tables.
      bof!
      ta jointure va avoir cet aspect-là :

      SELECT Statut, titreProjet, ..., heure, ...
      FROM dossiers d, temps_passes t
      WHERE d.id=t.id;
      

      Tu peux aussi utiliser la syntaxe AINSI ...
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2011 à 15:33:02

        Ca fonctionne du feu de dieu ton script.

        1 000 000 000 mercis.

        Mais je devrais m'y mettre à cette gestion MySql !
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2011 à 15:43:32

          re,
          tu devrais chercher un tuto gentil sur SQL (avec MySQL ou Oracle ou autre). Ainsi tu deviendras autonome dans ta gestion de BD.

          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2011 à 15:49:16

            Je ne voudrais pas abuser mais tu as des liens à me suggérer ?

            Cdlt

            [MàJ]
            Pour finir si je souhaite voir l'intégralité des dossier avec le temps total passée par dossier, je fais comment ? J'ai commencé à regarder à droite à gauche il semble que GROUP BY soit le truc mais je n'ai pas encore réussi à l'utilser.
            Mon code à ce stade est :
            $sql = "SELECT `Nom`, `Prenom`, `Heure`, SUM(Duree) AS temps_total FROM `init`, `Traffic` WHERE init.id = Traffic.id";
            $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br/>'.mysql_error());
            while ($resultat = mysql_fetch_assoc($req)) {
            	echo 'Durée : '.$resultat['temps_total'].' Nom : '.$resultat['Nom'].'<br>';
            }
            


            [Maj[MàJ]]
            Pb réglé avec group by

            Pb définitivement solutionné !!!!!!!
            • Partager sur Facebook
            • Partager sur Twitter

            Jointure complexe

            × 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