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
Configuration: Windows XP Firefox 3.0.1
A voir également:
- Construction requete SQL
- Logiciel sql - Télécharger - Bases de données
- Simulateur de construction 14 - Télécharger - Simulation
- Logiciel construction maison - Guide
- Construction simulator 2012 - Télécharger - Simulation
- Unable to extract temporary files for microsoft sql server express 2022 - Forum SQL Server
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
*** 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