Написать запрос сложно, потому что нету даже примерной структуры таблицы БД.
Но я бы сделал так, как вы написали. ТОлько немного улучшил бы.
Сделал три таблицы.
И запрос был бы примерно такой.
SELECT * from type_tranaction where i_user = 1 and i_type = 2