If No Search Results, Show Posts from Alternate Search Query

I’ve never seen it done before but the logic of the PHP IF/ELSE should mean you could simply plug a new query in after the ELSE:

if ( have_posts() ) : while ( have_posts() ) : the_post();
    get_template_part ( 'templates/post', 'main' );
    endwhile; 
else:
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) : 
        while ( $the_query->have_posts() ) : 
           $the_query->the_post();
        endwhile;
    endif;

endif;

This is untested on my end.