Bonjour,
Dans une base de données j'ai une table qui ressemble a :
En gros pour chaque info il faut pouvoir saisir plus 'type' (ex : info = logistique, type = [prévu/DEVIS, prévu/CMD, Consommé/CMD, Restant/CMD) ==> ca correspond a 1 ligne en BdD
/!\ Je sais que la bonne pratique aurait été de faire une table Type et de mettre les données dans la relation Info_Type mais je ne peux pas modifier la base de données comme je le souhaite/!\
Je souhaite mettre en place une requête qui Sum() ses champs suivant le 'Type'. Les nom de champs respectent tous une syntaxe :
- 'F_' et '_' : convention de nommage de l'appli donc obligatoire
- 'TYPE' : type du champ
- 'INFO' : information concernée
J'ai fait cette query, qui fonctionne :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select Sum(F_PREV_ST, F_PREV_LOGISTICS, F_PREV_MISSIONS, F_PREV_EMPLOYEE, F_PREV_MATERIAL, F_PREV_RISK, F_PREV_OTHER) as PREV, Sum(F_PLAN_ST, F_PLAN_LOGISTICS, F_PLAN_MISSIONS, F_PLAN_EMPLOYEE, F_PLAN_MATERIAL, F_PLAN_RISK, F_PLAN_OTHER) as PLAN, Sum(F_REAL_ST, F_REAL_LOGISTICS, F_REAL_MISSIONS, F_REAL_EMPLOYEE, F_REAL_MATERIAL, F_REAL_RISK, F_REAL_OTHER) as REAL, Sum(F_REST_ST, F_REST_LOGISTICS, F_REST_MISSIONS, F_REST_EMPLOYEE, F_REST_MATERIAL, F_REST_RISK, F_REST_OTHER) as REST from ACTI$SPENDING group by K_ACTION
Mais je souhaiterais faire une query que je n'ai pas a modifier si un type ou info est rajouté
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select Sum("spending.* where field name like '%PREV%'") as PREV, Sum("spending.* where field name like '%PLAN%'") as PLAN, Sum("spending.* where field name like '%REAL%'") as REAL, Sum("spending.* where field name like '%REST%'") as REST from ACTI$SPENDING as spending group by spending.K_ACTION
Est-ce possible ou cela relève-t-il de l'utopie ?
Merci a ceux qui prendrons au moins le temps de lire !
Partager