Vous pouvez fournir des valeurs par défaut sous forme de constantes dans les instructions select pour les colonnes où vous n'avez pas de données;
donc
SELECT Date, User, Amount, 'NotApplicable' as Who, 'NotApplicable' as What from t1 where user = 'me'
UNION
SELECT Date, User, Amount, Who, 'NotApplicable' from t2 where user = 'me'
UNION
SELECT Date, User, Amount, 'NotApplicable', What from t3 where user = 'me'
qui suppose que Qui et Quoi sont des colonnes de type chaîne. Vous pouvez également utiliser Null, mais une sorte d'espace réservé est nécessaire.
Je pense que placer vos informations supplémentaires dans un tableau séparé et conserver toutes les transactions dans un seul tableau fonctionnera mieux pour vous, à moins qu'il y ait un autre détail que j'ai manqué.