A stored procedure returns a resultset. You could think of this resultset as a table, especially if you capture the values into a DataTable variable. Inside the stored procedure, however, you can join the data in any way you want. In your case, you could do a join on the two tables and return the combined results. You would need to know how to join (link up) the two tables though. Here is an example (pseudocode):
CREATE PROCEDURE dbo.sprocJoinedRecords
AS
BEGIN
SET NOCOUNT ON;
SELECT t1.col1, t1.col2, t2.col1
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.foreignId
END
This makes a lot of assumptions but I think it should give you the model you will need to follow.
Update
Based upon the information you gave in the comments, you want to join two tables that have no way of relating to each other. This can be done as long as you understand the results of doing so. In this case you have a BranchName in one table and the academic year information in the other. My assumption then would be that you want to see the academic year information displayed for each branch. This would be one area where it would actually be logical to join two unrelated tables together. It would look like this:
CREATE PROCEDURE dbo.sprocJoinedRecords
AS
BEGIN
SET NOCOUNT ON;
SELECT t1.branchname, t2.yearfrom, t2.yearto
FROM branch t1, academic_year t2
END
This will give you a list of all of the rows from the academic_year table for each row in the branch table. This is called a CROSS JOIN (sometimes referred to as a Cartesian join because it produces a cartesian product). You can read more about CROSS JOINs here:
http://www.tutorialspoint.com/sql/sql-cartesian-joins.htm[
^]