Single taxonomy for different custom post types

I think this is what you are searching for… You must use both post_type and tax_query to filter your query

 $query = new WP_Query( array(
    'post_type' => 'books',          // name of post type.
    'tax_query' => array(
        array(
            'taxonomy' => 'fiction',   // taxonomy name
        )
    )
) );

while ( $query->have_posts() ) : $query->the_post();
    // do stuff here....
endwhile;

/**
 * reset the orignal query
 * we should use this to reset wp_query
 */
wp_reset_query();