Pb sur une requete sql

Résolu
milo1986 Messages postés 128 Statut Membre -  
xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   -
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. papajjt
     
    Bonjour,

    Après ton dernier AND essayes panne.respan='1'
    0
  2. milo1986 Messages postés 128 Statut Membre 22
     
    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
    0
  3. papajjt
     
    Bonjour,

    Deuxième ligne tu as écrit typ_panne à la place de type_panne
    0
  4. milo1986 Messages postés 128 Statut Membre 22
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dwp29
     
    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.
    0
  7. milo1986 Messages postés 128 Statut Membre 22
     
    dwp29 --> voir un peu plus haut, c'est une erreur lorsque j'ai recopié, il ne faut pas en tenire compte ;)
    0
  8. papajjt
     
    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'
    0
  9. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    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)
    0
  10. clara
     
    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'
    0
  11. milo1986 Messages postés 128 Statut Membre 22
     
    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
    0
  12. milo1986 Messages postés 128 Statut Membre 22
     
    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'
    0
  13. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Bonjour !
    C'est sympa à toi de penser aux autres
    Merci
    0