Faq/Base/028/fr

Comment faire pour qu'un champ résulte d'un calcul ou d'une fonction sur d'autres champs ?
Exemple : champ C = Concaténation des champs A & B

Cette opération ne peut être réalisée directement dans une table : dans une base de données relationnelle les données calculées ne sont en principe pas stockées (puisqu'elles peuvent justement être calculées).

Avec LibreOffice il sera nécessaire d'utiliser une vue ou une requête pour réaliser les calculs.

Par exemple, cette commande SQL peut être inclue dans une requête pour concaténer les deux champs "champ1" et "champ2" séparés par une virgule :

CONCAT( CONCAT( "champ1", ','), "champ2")

Le résultat sera (si aucun des champs n'est vide) : ContenuChamp1, ContenuChamp2 (par exemple Dupont, Jean)

Nota : l'en-tête de colonne reprenant par défaut la formule utilisée pour le calcul, il est souvent préférable d'ajouter un alias aux champs résultant de calculs.