Requête avec plusieurs conditions [Résolu]

Signaler
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
-
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

2 réponses

Messages postés
29740
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 octobre 2020
2 839
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.








Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
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
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
et pour ma BDD oui c'est sur SQL server 2012
Messages postés
12594
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700
bonjour, quelle est ta question?
Messages postés
256
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
salut, la requête que j'ai essaye ne fonctionne pas, je cherche la requête pour affiché le résultat souhaité
merci
Messages postés
12594
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700 >
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"