Partage
  • Partager sur Facebook
  • Partager sur Twitter

jointure ajout (sur Mysql)

Sujet résolu
    7 septembre 2011 à 7:42:22

    Bonjour,

    j'ai deux tables
    table1 (article de référence)
    numéro
    libelle
    prix
    table2 (liste des articles affecte a un user)
    numéro
    qte vendue
    acheteur
    ...
    sur ces deux tables j'ai un numéro d'article, est il possible de rajouter dans ma table2 tous les articles de la table1 qui ne sont pas déjà dans la table2 ? je suis sur MYSQL

    merci pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      7 septembre 2011 à 11:12:47

      je galère un max.
      j'ai regarde du cote des jointure
      select tb_aqp_seuil.* from tb_aqp_seuil
        left join tb_detail on tb_aqp_seuil.critere = tb_detail.critere
        where  tb_detail.projet like 'T23'
      

      je ne récupère pas toutes les valeurs présente uniquement dans tb_aqp_seuil

      si je code avec le prédicat EXIST
      select tb_aqp_seuil.* from tb_aqp_seuil
        where not exist 
         (select * from tb_detail where 
                 projet like 'T23')
      

      je me récupère une erreur de syntaxe sql

      je boucle un peu en rond, sur mon exemple concret j'essaye de récupérer dans la table tb_aqp_seuil toutes les lignes qui ne sont pas présente dans la table tb_detail pour le projet T23
      • Partager sur Facebook
      • Partager sur Twitter
        7 septembre 2011 à 11:17:11

        Ce serait peut-être pas mal de me dire l'errur SQL que tu récupères...

        Et dans ta sous-requete avec exists, il manqeu la corrélation entre les 2 tables.
        • Partager sur Facebook
        • Partager sur Twitter
          7 septembre 2011 à 11:39:49

          sur ma requete
          select tb_aqp_seuil.* from tb_aqp_seuil A
            where not exist 
          (select * from tb_detail B,tb_aqp_seuil C 
            where  A.critere = C.Critere
                     and C.projet like 'T23')
          

          j'ai rajoute une corrélation l'erreur que je récupère est sur la syntaxe de la clause exist
          "#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from tb_detail B,tb_aqp_seuil C where A.critere = C.Critere ' at line 3"

          • Partager sur Facebook
          • Partager sur Twitter
            7 septembre 2011 à 11:42:07

            ... Demande toi pourquoi exist n'est pas coloré en vert...
            • Partager sur Facebook
            • Partager sur Twitter
              7 septembre 2011 à 13:22:46

              Effectivement j'aurais du voir en posant ma question sur le forum que le mot clé n'était pas bon. sinon je n'ai pas d'éditeur de syntaxe et je me focalisé sur mes critères de sélection. Avec la clause exits ca fonctionne mieux.

              merci du coup de main
              • Partager sur Facebook
              • Partager sur Twitter
                7 septembre 2011 à 14:02:54

                Citation : smer38

                Avec la clause exits ca fonctionne mieux.



                T'es sûr?
                • Partager sur Facebook
                • Partager sur Twitter
                  8 septembre 2011 à 11:01:44

                  bonjour,

                  Il faut lire EXISTS.
                  afin d'être au top j'essaye de transformer cette requête avec la clause INNER JOIN.
                  mais mon soucis est resolu et c'est le principal.

                  encore merci a Taguan
                  • Partager sur Facebook
                  • Partager sur Twitter

                  jointure ajout (sur Mysql)

                  × 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