Use Stored Procedure or View to return Data from Multiple Tables
This seems like a strange question to me, but here are some opinionated brief one liner guidelines for each. 


stored procedure: If you want use parameters and are not joining to the results.
in-line table-valued function: If you want use parameters and might join the results.
views: If you want to simplify querying a set of tables, and promise not to make views that include other views.


What you have posted looks like it would be a view to me. Unless you want to pass in parameters, then I would say it would probably be a stored procedure.