Partage
  • Partager sur Facebook
  • Partager sur Twitter

Double liason de table

Sujet résolu
    4 novembre 2019 à 16:03:50

    salut,
    Je cherche à effectuer une double liaison de table.
    La table qui doit recevoir les deux tables est (tableori).
    La première table à lier est (pointmenu) précisément le champ pointmenu de la table pointmenu (je sais ça fait un peu redondant).
    La deuxième table à lier est point (point.point) là encore le champ s'appelle aussi point.
    J'ai essayé plusieurs requêtes SQL dont:


    SELECT tableori.id_rest, pointmenu.pointmenu FROM tableori
    LEFT JOIN pointmenu ON tableori.id_rest
    = pointmenu.id_rest
    UNION
    SELECT point.point LEFT JOIN point ON tableori.id_rest
    ORDER BY tableori.id_rest


     Ainsi que :


    SELECT tableori.id_rest, pointmenu.pointmenu,point.point FROM tableori
    LEFT JOIN pointmenu, point ON tableori.id_rest
    = pointmenu.id_rest, point.point


    Ou encore :


    SELECT tableori.id_rest, pointmenu.pointmenu FROM tableori
    LEFT JOIN pointmenu ON tableori.id_rest
    = pointmenu.id_rest
    UNION
    SELECT tableori.id_rest LEFT JOIN point ON tableori.id_rest
    = point.id_rest
    ORDER BY tableori.id_rest

    J'aimerai vraiment réussir cette 'double laision' en une seule requète ..
    Si quelqu'un à une solution ou même un indice, je suis preneur !
    Merci de m'avoir lu,
    cdt MargauxLLL

    -
    Edité par MargauxLLL 4 novembre 2019 à 16:04:27

    • Partager sur Facebook
    • Partager sur Twitter
      4 novembre 2019 à 17:25:17

      Bonjour,

      Ta question est vraiment très compliqué à comprendre ...

      Peux-tu nous donner un exemple des données présentes dans les 3 tables, et le résultat attendu de ta requête pour cet exemple là ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        4 novembre 2019 à 17:44:42

        Autant pour moi, je vais essayer d'être plus claire.

        Je dispose de trois bases de données :

        La première est composée comme ceci (c'est celle qui va "recevoir les deux autres" via LEFT JOIN):

        id

        1

        2

        3

        4

        5

        La deuxième

        id  point

        1   1

        3   2

        4   8

        5   2

        La troisième

        id pointmenu

        1      5

        5      9

        Mon objectif est d'avoir cette base de données

        id point pointmenu

        1     1         5

        2    NULL  NULL

        3    2           NULL

        4    8           NULL

        5    2           9

        Voilà, encore merci pour l'aide apportée !

        -
        Edité par MargauxLLL 4 novembre 2019 à 17:46:14

        • Partager sur Facebook
        • Partager sur Twitter
          4 novembre 2019 à 18:08:06

          Ok c'est plus clair :p

          Du coup :

          SELECT
          	O.id_rest,
          	P.point,
          	PM.pointmenu
          FROM
          	tableori O
          		LEFT JOIN point P
          			ON O.id_rest = P.id_rest
          		LEFT JOIN pointmenu PM
          			ON O.id_rest = PM.id_rest
          ORDER BY O.id_rest

          Il est temps de revoir ton cours sur les jointures ...

          https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1963612-jointures

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            4 novembre 2019 à 18:14:40

            Merci beaucoup ça marche très bien chez moi !

            Je vais vite revoir le cours !

            Bonne continuation :)

            • Partager sur Facebook
            • Partager sur Twitter

            Double liason de table

            × 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