Requete SQL probleme
benSQL
-
jee pee Messages postés 32102 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 32102 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour ;
je dois effectuer une requete SQL : Afficher la liste des salarié (nom ; prenom; Nom du diplome ) qui ont un BAC et/ou un BTS (ne pas utiliser les codes diplomes D1 et D2 );
mes tables sont : salarie qui regroupe les noms prenoms des salarié , le matricule est egalement precisé ; les salarie ont tous 1 matricule ; une table avoir_diplome regroupe les champs matricule et code_diplome
et les code diplome D1 D2 D3 etc ; code diplome est dans une table Nomme Diplome qui regroupe code diplome , nom du diplome (et niveau ( pas utile ici )
jai donc fais ma requête : sous le format sql la voici :
cela fonctionne cepedant une salarie possede les deux , et apparait donc deux fois dans la reponse.
D'où ma question ensuite : je dois cree une autre requete : afficher la liste des salariés (nom,prenom qui ont un BAC ET un bTS ducoup elle rentre dans ce cadre cependant elle apparait deux fois ; quelqu 'un aurait t'il une solution ?
merci d'avances , Cordialement
je dois effectuer une requete SQL : Afficher la liste des salarié (nom ; prenom; Nom du diplome ) qui ont un BAC et/ou un BTS (ne pas utiliser les codes diplomes D1 et D2 );
mes tables sont : salarie qui regroupe les noms prenoms des salarié , le matricule est egalement precisé ; les salarie ont tous 1 matricule ; une table avoir_diplome regroupe les champs matricule et code_diplome
et les code diplome D1 D2 D3 etc ; code diplome est dans une table Nomme Diplome qui regroupe code diplome , nom du diplome (et niveau ( pas utile ici )
jai donc fais ma requête : sous le format sql la voici :
SELECT SALARIE.NOM, SALARIE.PRENOM, DIPLOME.DIPLOME FROM SALARIE INNER JOIN (DIPLOME INNER JOIN AVOIR_DIPLOME ON DIPLOME.CODE_DIPLOME = AVOIR_DIPLOME.CODE_DIPLOME) ON SALARIE.MATRICULE = AVOIR_DIPLOME.MATRICULE WHERE (((DIPLOME.DIPLOME)="bac" Or (DIPLOME.DIPLOME)="bts")) ORDER BY SALARIE.NOM;
cela fonctionne cepedant une salarie possede les deux , et apparait donc deux fois dans la reponse.
D'où ma question ensuite : je dois cree une autre requete : afficher la liste des salariés (nom,prenom qui ont un BAC ET un bTS ducoup elle rentre dans ce cadre cependant elle apparait deux fois ; quelqu 'un aurait t'il une solution ?
merci d'avances , Cordialement
A voir également:
- Requete SQL probleme
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- Unable to extract temporary files for microsoft sql server express 2022 - Forum SQL Server
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
2 réponses
effectivement il me semble que cela fonctionne ; avez vous une deuxieme methode pour celle ci ?
SELECT SALARIE.NOM, SALARIE.PRENOM, SERVICE.NOM_SERVICE, SALARIE.SALAIRE FROM SERVICE INNER JOIN SALARIE ON SERVICE.CODE_SERV = SALARIE.CODE_SERVICE WHERE (((SERVICE.NOM_SERVICE)='Expéditions' Or (SERVICE.NOM_SERVICE)='Commercial') AND ((SALARIE.SALAIRE)>2000));
parfait effectivement ; je vous remercie sincerement ;
et pour celle ci avez vous une alternative ?
SELECT SALARIE.NOM, SALARIE.PRENOM, SERVICE.NOM_SERVICE, SALARIE.SALAIRE
FROM SERVICE INNER JOIN (EMPLOI INNER JOIN SALARIE ON EMPLOI.CODE = SALARIE.CODE_EMPLOI) ON SERVICE.CODE_SERV = SALARIE.CODE_SERVICE
WHERE (((SERVICE.NOM_SERVICE)="Expéditions" Or (SERVICE.NOM_SERVICE)='Informatique'))
ORDER BY SERVICE.NOM_SERVICE;
et pour celle ci avez vous une alternative ?
SELECT SALARIE.NOM, SALARIE.PRENOM, SERVICE.NOM_SERVICE, SALARIE.SALAIRE
FROM SERVICE INNER JOIN (EMPLOI INNER JOIN SALARIE ON EMPLOI.CODE = SALARIE.CODE_EMPLOI) ON SERVICE.CODE_SERV = SALARIE.CODE_SERVICE
WHERE (((SERVICE.NOM_SERVICE)="Expéditions" Or (SERVICE.NOM_SERVICE)='Informatique'))
ORDER BY SERVICE.NOM_SERVICE;
il faudrait alors séparer bac et bts et faire un jointure pour le bac et une autre jointure pour le bts
pas de complication de ce genre , le salarie a uniquement le bac et le bts
- listes des salariés (nom,prenom,nom du service, salaire) qui sont affectés au services informatique et expeditions. Le resultat sera trieé par service ( la requete ne devra pas mentionner les codes 'EXP' et INF des services
j'ai donc fait :
si jamais tu connais une alternative pour obtenir un resultat similaire
pareil pour celle ci : - liste des salariés (nom,prenom,nom du service , salaire ) qui sont affecter au services commercial et expeditions et qui percoit superieur a 2000 euros . le resultat sera trier par service , la requete ne devra pas mentionner le code 'EXP' et 'COM' des services
j'ai fais cela :
merci d'avance