Możesz podać wartości domyślne jako stałe w instrukcjach select dla kolumn, w których nie masz danych;
więc
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'
co zakłada, że Who And What są kolumnami typu string. Możesz również użyć wartości Null, ale potrzebny jest jakiś symbol zastępczy.
Myślę, że umieszczenie dodatkowych informacji w osobnej tabeli i przechowywanie wszystkich transakcji w jednej tabeli będzie dla ciebie lepsze, chyba że pominąłem jakiś inny szczegół.