Bonjour à toutes et à tous,
Etant novice en SQL, je voudrai savoir s'il est possible d'optimiser ces requêtes :
Code :
- SELECT
- SUM(vdp.ENGAGE*(ao.POURCENT/100)) as ENG_TOT, SUM(vdp.FACTURE*(ao.POURCENT/100)) as FACT_TOT
- FROM VENT_DIVERS_PROJET vdp
- JOIN APPLI_OBJS ao ON vdp.ID_APPLIPROJET = ao.ID_APPLI
- JOIN BUDGET.COMMANDE_AUTRE ca ON vdp.ID_COMMANDE = ca.NUM_COMMA
- WHERE vdp.ANNEE = '2006'
- AND ao.ID_OBJS = '2'
- AND vdp.ID_APPLIPROJET = '3'
- AND vdp.ID_ACTIVITE = '8'
- AND ca.ID_TYPE = '1'
|
Code :
- SELECT
- SUM(vdp.ENGAGE*(ao.POURCENT/100)) as ENG_TOT, SUM(vdp.FACTURE*(ao.POURCENT/100)) as FACT_TOT
- FROM VENT_DIVERS_PROJET vdp
- JOIN APPLI_OBJS ao ON vdp.ID_APPLIPROJET = ao.ID_APPLI
- JOIN BUDGET.COMMANDE_AUTRE ca ON vdp.ID_COMMANDE = ca.NUM_COMMA
- WHERE vdp.ANNEE = '2006'
- AND ao.ID_OBJS = '2'
- AND vdp.ID_APPLIPROJET = '3'
- AND vdp.ID_ACTIVITE = '8'
- AND ca.ID_TYPE = '2'
|
Code :
- SELECT
- SUM(vdp.ENGAGE*(ao.POURCENT/100)) as ENG_TOT, SUM(vdp.FACTURE*(ao.POURCENT/100)) as FACT_TOT
- FROM VENT_DIVERS_PROJET vdp
- JOIN APPLI_OBJS ao ON vdp.ID_APPLIPROJET = ao.ID_APPLI
- JOIN BUDGET.COMMANDE_AUTRE ca ON vdp.ID_COMMANDE = ca.NUM_COMMA
- WHERE vdp.ANNEE = '2006'
- AND ao.ID_OBJS = '2'
- AND vdp.ID_APPLIPROJET = '3'
- AND vdp.ID_ACTIVITE = '8'
- AND ca.ID_TYPE = '3'
|
Entre chaque requête, seul le test sur l'ID_TYPE dans la clause where change. N'est-il pas possible de ne faire qu'une seule requête ?
Précision, mon travail s'effectue sur une BDD MySQL 5.0
Merci d'avance de vos réponses