1 pièce(s) jointe(s)
select Sum() avec nom de champs like '%string%'
Bonjour,
Dans une base de données j'ai une table qui ressemble a :
Pièce jointe 399660
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:
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:
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 !