Construction requete SQL
z_a7med
Messages postés
10
Statut
Membre
-
amjahed Messages postés 350 Statut Membre -
amjahed Messages postés 350 Statut Membre -
Bonjour,
Voila j'ai un problème dans une construction de requete SQL. JE voudrais combiner deux requetes mais J'ai un pti souci.
En effet j'ai une table contenant une liste de personnel. Et je vais calculer deux types de performances de deux tables différentes. J'ai voulu combiner les deux performances dans une meme requete et les afficher sur la meme table, mais le problème est que on ne calcule pas les deux types de performances pour tous le personnel.
Voila un exemple :
Supposont que nous avons 4 personnel : Perso1,Perso2,Perso3 et Perso4
Pour la Perf1 : on la calcule pour Perso1, Perso2,Perso3
Pour la Perf2 : on la calcule pour Perso1,Perso3,Perso4
ce que j'obtiens :
Perso | Perf1
Perso1 | Perf1_Perso1
Perso2 | Perf1_Perso2
Perso3 | Perf1_Perso3
Perso | Perf2
Perso1 | Perf2_Perso1
Perso3 | Perf2_Perso3
Perso4 | Perf2_Perso4
J'ai voulu combiner ces deux tables avec un "inner join on table1.Perso=Tbale2.Perso "mais je n'obtiens que l'intersection.
Je voudrais les combiner et remplacer les valeurs inexistantes par 0 de façon que j'obtienne :
Perso | Perf1 | Perf2
Perso1 | Perf1_Perso1 | Perf2_Perso1
Perso2 | Perf1_Perso2 | 0
Perso3 | Perf1_Perso3 | Pef2_Perso3
Perso4 | 0 | Perf2_Perso4
Y'a t'il une manière de faire??
J'utilise Oracle
Voila j'ai un problème dans une construction de requete SQL. JE voudrais combiner deux requetes mais J'ai un pti souci.
En effet j'ai une table contenant une liste de personnel. Et je vais calculer deux types de performances de deux tables différentes. J'ai voulu combiner les deux performances dans une meme requete et les afficher sur la meme table, mais le problème est que on ne calcule pas les deux types de performances pour tous le personnel.
Voila un exemple :
Supposont que nous avons 4 personnel : Perso1,Perso2,Perso3 et Perso4
Pour la Perf1 : on la calcule pour Perso1, Perso2,Perso3
Pour la Perf2 : on la calcule pour Perso1,Perso3,Perso4
ce que j'obtiens :
Perso | Perf1
Perso1 | Perf1_Perso1
Perso2 | Perf1_Perso2
Perso3 | Perf1_Perso3
Perso | Perf2
Perso1 | Perf2_Perso1
Perso3 | Perf2_Perso3
Perso4 | Perf2_Perso4
J'ai voulu combiner ces deux tables avec un "inner join on table1.Perso=Tbale2.Perso "mais je n'obtiens que l'intersection.
Je voudrais les combiner et remplacer les valeurs inexistantes par 0 de façon que j'obtienne :
Perso | Perf1 | Perf2
Perso1 | Perf1_Perso1 | Perf2_Perso1
Perso2 | Perf1_Perso2 | 0
Perso3 | Perf1_Perso3 | Pef2_Perso3
Perso4 | 0 | Perf2_Perso4
Y'a t'il une manière de faire??
J'utilise Oracle
A voir également:
- Construction requete SQL
- Simulateur de construction 14 - Télécharger - Simulation
- Logiciel sql - Télécharger - Bases de données
- Logiciel de construction - Guide
- Jointure sql ✓ - Forum MySQL
- Sql (+) - Forum Programmation
5 réponses
Salut,
essaye de mettre un + à la fin de ta requête SQL !
Normalement, je crois que si il y a un 0 ou Null, la requête continue et affiche 0.
A+
Gaerebut
essaye de mettre un + à la fin de ta requête SQL !
Normalement, je crois que si il y a un 0 ou Null, la requête continue et affiche 0.
A+
Gaerebut
En SQL server j'aurais mis un ' cast (numeric,isnull(Perf1_Perso1 ,0)); ' pour que la requete retourne 0 à chaque fois que la valeur est nulle
Merci pour vos réponses mais ca ne résoud pas le problèmes. En effet, le calcul des deux Performances n'est pas aussi simple mais il est le résultat d'une requete contenant plusieurs inner join. et je Voudrais combiner le résultat de ces deux requetes que j'ai deja construites
j'ai deja construit deux tables tampons, mais comment attribuer 0 a ceux qui nont pas de val?
*** Voir EXISTS :
http://dev.mysql.com/doc/refman/5.0/fr/exists-and-not-exists-subqueries.html
https://sqlpro.developpez.com/cours/sqlaz/sousrequetes/#L1.5.1
Il suffit d'utiliser le résultat de la requête pour l'insérer dans la table tampon.
*** Requête donnant la liste des enregistrements de la table 1 qui ne sont pas dans la table 2 :
Source : https://access.developpez.com/faq/
http://dev.mysql.com/doc/refman/5.0/fr/exists-and-not-exists-subqueries.html
https://sqlpro.developpez.com/cours/sqlaz/sousrequetes/#L1.5.1
Il suffit d'utiliser le résultat de la requête pour l'insérer dans la table tampon.
*** Requête donnant la liste des enregistrements de la table 1 qui ne sont pas dans la table 2 :
Select LECHAMP From TABLE1 Where LECHAMP Not In (Select LECHAMP2 From TABLE2);
Source : https://access.developpez.com/faq/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question