There is no reason why you cannot have a calculated field in a view, as far as I know. Take a look at
SQL CREATE VIEW, REPLACE VIEW, DROP VIEW Statements[
^]. But the main thing you need to do is to build the view from the ground up, rather than (as you have above) from the roof down. Start with the basic field items that you want, and make sure that the view reflects what you are trying to display. Then add your conditional expressions one at a time, and test each one as you add it. Repeat this process for all other fields and conditions until you have the complete view.