1. You can create a table function.
2. You can return result of a stored procedure.
3. You can use where condition on existing view.
4. You can use Case in select statements of a view which is in many cases is almost the same as IF ELSE.
5. You can create different views and use them depend on a conditions like.
Create view View_StoredProc s
AS
select name from sysobjects where type like 'p'
Create view View_Tables
AS
select name from sysobjects where type like 'u'
Comment