Requête avec plusieurs conditions [Résolu]

Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
-
Bonjour,

je suis bloqué sur une requete sql server.
alors j'ai deux table
salarie(immatriculation,nom,prenom)
ATS(code,immatriculation,moi,annee,salaire)

je veux affiché les salaire d'un employer de différent mois de différente années
exemple je veux afficher le salaire d'un employer (immatriculation 11)
le mois de décembre 2018
le mois de janvier 2019
le mois de mars 2019

et voila la requete que j'ai essayer
select * from Salarie,ATS 
where (ats.immatriculation = salarie.immatriculation and  ATS.Immatriculation = 11 )
where (ats.mois= 'decembre' and annee= 2018)
where (ats.mois= 'janvier' and annee= 2019)
where (ats.mois= 'mars' and annee= 2019)


Merci
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
26811
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 novembre 2019
1890
1
Merci
Bonjour,

Pour commencer... es-tu sûr que ta bdd est en SQL SERVER ? Si oui.. quelle version ? 2008 ? 2012 ? autre ?

Ensuite, ta requête n'est pas bonne.
Tu ne peux pas avoir plusieurs fois l'instruction "WHERE" dans ta requête.
Tu as sû utiliser des "AND" ... et bien... regarde aussi comment s'utilisent les "OR"

Au passage... utiliser des "string" pour les mois est une erreur...
Un mois.. c'est une valeur de 1 à 12 ... ce qui permet de faire des comparaisons si besoin...
On ne stocke jamais la valeur en "texte" .. ne serait-ce que pour les multi-langues..

On évite également de séparer les Années et les mois dans des colonnes différentes.
On utilisera, à la place, un champ de type DATE
(pour Janvier 2019 .. dans un champ date, tu aurais simplement écrit : 2019-01-01 .. pour le mois de Mars : 2019-03-01 .. etc...)
Là encore c'est pour faciliter les requêtes lorsqu'il faut manipuler/comparer des dates.

Je te laisse apporter les corrections et revenir vers nous si tu as toujours des soucis dans tes requêtes.








Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 70341 internautes nous ont dit merci ce mois-ci

nabil-bago
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
11 -
Merci beaucoup Jordan45,
je vois beaucoup claire après ta réponse, je viens de comprendre toutes mes erreur,

je vais mettre mois (en chiffre) et année ensemble et j’utiliserai des AND pour les conditions

Merci encore Jordan
nabil-bago
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
11 -
et pour ma BDD oui c'est sur SQL server 2012
Commenter la réponse de jordane45
Messages postés
8963
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2019
461
0
Merci
bonjour, quelle est ta question?
nabil-bago
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
11 -
salut, la requête que j'ai essaye ne fonctionne pas, je cherche la requête pour affiché le résultat souhaité
merci
yg_be
Messages postés
8963
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2019
461 > nabil-bago
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
-
"ne fonctionne pas", cela ne veut rien dire: peux-tu être plus factuel?
la syntaxe de la requête est évidement incorrecte, quelle formation as-tu suivie?
peut-être devrais-tu commencer par des exercices plus simples?
je constate aussi que le texte de ta demande est incorrect. il manque les conjonctions de coordination dans la phrase " je veux afficher le salaire d'un employer (immatriculation 11) le mois de décembre 2018 le mois de janvier 2019 le mois de mars 2019"
Commenter la réponse de yg_be