Here is the simple way to do so:

Step 1:

Create a stored procedure (i.e. usp_GetAddrCount) in such a way that it returns a value to the caller stored procedure (i.e. usp_TakeDecision_BasedOnAddressCount).

  1. CREATE PROCEDURE [dbo].[usp_GetAddrCount]
  2. AS
  3. BEGIN
  4. DECLARE @Count INT ;
  5. SET @Count = (SELECT COUNT(*) FROM [ADDRESS])
  6. RETURN @Count
  7. END
Step 2:

In the stored Procedure (i.e. usp_TakeDecision_BasedOnAddressCount) which calls another Stored Procedure (i.e. usp_GetAddrCount), you need to declare a variable which holds the returned value from the called stored procedure and execute the store procedure within a stored procedire as following:
  1. DECLARE @return_value int
  2. EXEC @return_value = dbo.GetAddrCount ;
  3. IF(@return_value > 0)
  4. BEGIN
  5. SELECT COUNT(*) FROM [Booking]
  6. END
  7. ELSE
  8. BEGIN
  9. SELECT COUNT(*) FROM [Employee]
  10. END
Example:

Here is the fill SQL Code:
  1. CREATE PROCEDURE [dbo].[usp_GetAddrCount]
  2. AS
  3. BEGIN
  4. DECLARE @Count INT ;
  5. SET @Count = (SELECT COUNT(*) FROM [ADDRESS])
  6. RETURN @Count
  7. END
  1. CREATE PROCEDURE [dbo].[usp_TakeDecision_BasedOnAddressCount]
  2. AS
  3. BEGIN
  4. DECLARE @return_value int
  5. EXEC @return_value = dbo.GetAddrCount ;
  6. IF(@return_value > 0)
  7. BEGIN
  8. SELECT COUNT(*) FROM [Booking]
  9. END
  10. ELSE
  11. BEGIN
  12. SELECT COUNT(*) FROM [Employee]
  13. END
  14. END