В таблице transactions хранить тип транзакции и её id (то есть у вас должно получиться как минимум три колонки id, transaction_type (символьный или цифровой код, как больше нравится), transaction_id). Остальные колонки в зависимости от поставленной задачи. Далее, в зависимости от типа транзакции, делать соответствующий join.