Bonjour,
Je souhaiterais faire une insertion multiple au sein de ma table mais je ne sais si ce que je suis en train d'élaborer est SQL ment correct ou même si cela a des chances d'aboutir
j'ai 3 tables : VALEUR_MESURE_APPLI, CO_GRP_APPLI, GRP_APPLI
VALEUR_MESURE_APPLI: IDapplication, VALEUR, PERFORMANCE,DATE
IDapplication | VALEUR | PERFORMANCE | DATE
1 | 300 | ...| 25/04/3006
7 | 10 | ... | 24/04/2006
11| 7000 | ... |22/04/2006
1| 250 | ... | 20/04/2006
CO_GRP_APPLI: IDapplication, IDfamille appli (table pour faire les correspondances entre un groupe d'applications et ses différentes appli)
IDapplication | IDgrp
1 | 4 |
7 | 4 |
11| 2 |
GRP_APPLI: IDgrp, nom_grp, seuil_perf
IDgrp | nom_grp | seuil_perf
4 | IBM | 500
2 | MICROSOFT | 200
L'objectif serai de comparer le champ valeur d'une mesure d'une application avec le seuil qui est associée au groupe d'applications auquel appartient l'application concernée par la mesure et en déduire la valeur a mettre au sein du champ performance de VALEUR_MESURE_APPLI.
je pensais faire quelquechose de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 si valeur < seuil alors performance =100 si seuil <valeur < 2 *seuil alors performance = 100- 100*(valeur -seuil)/Seuil si valeur > 2 * seuil alors performance = 0
mais franchement je ne sais pas trop ou donner de la tete d'un point de vue syntaxique... peut être devrais je écrire le programme a part dans un autre langage dans ce cas la comment l'insérer dans ma requete ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 UPDATE VALEUR_MESURE_APPLI SET VALEUR_MESURE_APPLI.PERFORMANCE=(SELECT IDappli, DATE_MES, CASE WHEN VALEUR_MESURE_APPLI.VALEUR > 2*Seuil THEN 0 WHEN VALEUR_MESURE_APPLI.VALEUR > THEN WHEN Seuil <VALEUR_MESURE_APPLI.VALEUR < 2*Seuil THEN 100- 100*(valeur -seuil)/Seuil100 END AS PERFORMANCE, FROM VALEUR_MESURE_APPLI, GRP_APPLI WHERE (VALEUR_MESURE_APPLI.IDAPPLICATION= CO_GRP_APPLI.IDAPPLICATION AND CO_GRP_APPLI.IDgrp=GRP_APPLI.IDgrp)
merci bcp a ceux qui prendront la peine de lire ce long post
Charly
Partager