Select two value from meta key and post meta

You just need to join postmeta twice:

global $wpdb, $bp;

$user_id = get_current_user_id();

$query = $wpdb->prepare(
    "SELECT 
        rel.post_id as id, 
        rel2.meta_value as val
    FROM {$wpdb->posts} AS posts
        LEFT JOIN {$wpdb->postmeta} AS rel ON 
            posts.ID = rel.post_id
        LEFT JOIN {$wpdb->postmeta} AS rel2 ON
            posts.ID = rel2.post_id
    WHERE
        posts.post_type="books" AND
        posts.post_title LIKE '%%fire' AND
        posts.post_status="publish" AND 
        rel.meta_key = 'books_id' AND
        rel.meta_value="1351" AND
        rel2.meta_key = %d AND
        rel2.meta_value > 0",
    $user_id
);

$values = $wpdb->get_results( $query );

Also note that I used $wpdb->prepare() in place of sprintf(). It’s the preferred method for safely putting values into a query with WordPress.