Filter between Custom Posts depending on meta_value

I am not sure how your code looks but this is possible :

if(some condition ...){
  $meta_value = "primary";
}else{
  $meta_value = "secondary";
}

$the_query = new WP_Query( array( 'meta_key' => 'school', 'meta_value' => $meta_value ) );

You can change meta_value according to kind of post you want to show your users. Above will fetch posts according to primary or secondary.

And for default users you can just run query without meta_value arg as it will fetch posts based on meta_key = school irrespective of meta_value.

This is idea how you make it working.

For some details please visit this page or this and Wordpres codex page