Bonjour,

Dans une base de données j'ai une table qui ressemble a :
Nom : depenses.PNG
Affichages : 156
Taille : 9,6 Ko
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 !