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

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