Pb sur une requete sql

Résolu
Bonjour,

Voilà, j'ai un pb sur une requète sql qui devrait agire sur trois tables, le problème c'est qu'elle ne renvoi rien du tout (même pas une erreur...)

je met déjà la structure des 3 tables concernées

-etablissement (numeta, nometa, ad1eta, ad2eta, cpeta,vileta)
-panne (numpan, datpan, despan, datfinpan, respan, #numtyppan, #numeta)
-type_panne (numtyppan, nomtyppan)

et ça c'est ma requete

SELECT * FROM etablissement, panne, type_panne WHERE panne.numeta=etablissement.numeta
AND panne.numtyppan=typ_panne.numtyppan
AND respan ='1'

merci
Configuration: Windows XP
Firefox 2.0.0.7

12 réponses

  1. Ben je pense pas que le pb vienne de là : j'ai éssayé sans mettre le derneir AND mais celà ne génère rien non plus
    1. Bonjour,

      Deuxième ligne tu as écrit typ_panne à la place de type_panne
      1. vi excsue moi, c'est juste une coquille lorsque j'ai recopié mar rq (je sais je sais j'aurais pu faire un copier coller....)

        sinon j'ai essayé ça et là par contre une erreur est retorunée

        SELECT etablissement.nometa, panne.datpan, panne.despan, type_panne.nomtyppan
        FROM type_panne
        INNER JOIN (etablissement INNER JOIN panne ON etablissement.numeta = panne.numeta) ON type_panne.numtyppan = panne.numtyppan

        et l'erreur :

        #1064 - You have an error in your SQL syntax near ''type_panne'
        INNER JOIN ( etablissement
        INNER JOIN panne ON 'etablissem at line 2
        1. Dans ta requête, dans ton 1er AND, tu utilise typ_panne.numtyppan or apparemment ta table s'appelle type_panne.

          Il doit considérer cette donnée comme une constante.

          Cdt.
          1. dwp29 --> voir un peu plus haut, c'est une erreur lorsque j'ai recopié, il ne faut pas en tenire compte ;)
            1. Essayes ce qui suit, je l'ai fait avec le générateur de requêtes de windev:

              SELECT Etablissement.numeta AS numeta,
              Etablissement.nometa AS nometa,
              Etablissement.ad1eta AS ad1eta,
              Etablissement.ad2eta AS ad2eta,
              Etablissement.cpeta AS cpeta,
              Etablissement.vileta AS vileta,
              Panne.numpan AS numpan,
              Panne.datpan AS datpan,
              Panne.despan AS despan,
              Panne.datfinpan AS datfinpan,
              Panne.respan AS respan,
              Panne.numtyppan AS numtyppan,
              Panne.numeta AS numeta_Pa,
              Type_panne.numtyppan AS numtyppan_Ty,
              Type_panne.nomtyppan AS nomtyppan
              FROM Panne, Type_panne, Etablissement
              WHERE Panne.numeta = etablissement.numeta
              AND Panne.numtyppan = type_panne.numtyppan
              AND Panne.respan = '1'
              1. Bonjour !

                question :
                c'est quoi ton dièse #numtyppan dans
                panne (numpan, datpan, despan, datfinpan, respan, #numtyppan, #numeta)
                que l'on ne retrouve pas dans
                -type_panne (numtyppan, nomtyppan)
                1. Bonjour,
                  Ta requete est bien faite mais seulement enleve le diese là devant les clés secondaires,puisque si ton MLD est mal llibele ta requete ne doit pas marcher et essaye ceci:

                  SELECT * FROM Etablissement, Panne, Type_panne
                  WHERE panne.numeta=Etablissement.numeta
                  AND Panne.numtyppan=Type_panne.numtyppan
                  AND Panne.respan ='1'
                  1. Bon en fait je vais reprendre...

                    Les dièses, je les ai mis là... je me demande encore porquoi sachant que je ne les ai pas mis sur les noms de champs sur ma bdd.... (il y a des trucs qui passe par la tête des fois... on se demande)

                    Ensuite tout manquement de lettre est seulement une erreur lorsque j'ai posté mon message et n'existe ni sur ma requete ni dans ma base.

                    Clara > merci du conseil mais j'ai déjà essayé....

                    Et que pensez vous de cela : (posté plus haut mais personne n'a réagi alors...)

                    SELECT etablissement.nometa, panne.datpan, panne.despan, type_panne.nomtyppan
                    FROM type_panne INNER JOIN (etablissement INNER JOIN panne ON etablissement.numeta = panne.numeta) ON type_panne.numtyppan = panne.numtyppan

                    le pb cest que j'ai une erreur qui remonte suite à cette requète :

                    #1064 - You have an error in your SQL syntax near ''type_panne' INNER JOIN ( etablissement INNER JOIN panne ON 'etablissem at line 2
                    1. Bon ben j'ai trouvé

                      Je poste la solution apr laquelle je suis passé au cas où...

                      SELECT * FROM panne LEFT JOIN etablissement ON panne.numeta=etablissement.numeta LEFT JOIN type_panne ON panne.numtyppan=type_panne.numtyppan WHERE respan='1'