Requettes sql

os -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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)



<
A voir également:

1 réponse

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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