Requettes sql

os -  
Reivax962 Messages postés 3742 Statut Membre -
Bonsoir,

pouvez vous me dire se qui cloche dans ma requétte SQL svp!:

SELECT SALARIE.civilite,SALARIE.nom,SALARIE.prenom
FROM SALARIE,BENEFICIER,VISITE MEDICALE
WHERE SALARIE.matricule=BENEFICIER.matricule
AND BENEFICIER.code_visite=VISITE MEDICALE.code_visite
GROUP BY VISITE MEDICALE.date_visite
HAVING VISITE MEDICALE.date_visite<"2009/09/03";

Un message d'erreur me dit ( eurreur de syntaxe (opérateure absent) dans WHERE SALARIE.matricule=BENEFICIER.matricule
AND BENEFICIER.code_visite=VISITE MEDICALE.code_visite)

<

1 réponse

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Le problème vient de l'espace dans le nom de la table VISITE MEDICALE.
    Soit tu t'es trompé dans le nom de la table, soit il faut l'encadrer. Pour ça, ça dépendra de ton SGBD.

    Sous MySQL, c'est le caractère « ' » (alt-gr + 7) :
    SELECT SALARIE.civilite,SALARIE.nom,SALARIE.prenom
    FROM SALARIE,BENEFICIER,'VISITE MEDICALE'
    WHERE SALARIE.matricule=BENEFICIER.matricule
        AND BENEFICIER.code_visite='VISITE MEDICALE'.code_visite
    GROUP BY 'VISITE MEDICALE'.date_visite
    HAVING 'VISITE MEDICALE'.date_visite<"2009/09/03"; 


    Sous SQL Server, ce sont des crochets « [] » :
    SELECT SALARIE.civilite,SALARIE.nom,SALARIE.prenom
    FROM SALARIE,BENEFICIER,[VISITE MEDICALE]
    WHERE SALARIE.matricule=BENEFICIER.matricule
        AND BENEFICIER.code_visite=[VISITE MEDICALE].code_visite
    GROUP BY [VISITE MEDICALE].date_visite
    HAVING [VISITE MEDICALE].date_visite<"2009/09/03"; 


    Xavier
    0