You need subqueries. This is really a SQL question but as I know no way to do this with native WordPress functions without looping and running multiple queries here you go.
$querystr = "
SELECT DISTINCT {$wpdb->posts}.ID,
{$wpdb->posts}.*,
(SELECT min(cast(meta_value as unsigned))
FROM {$wpdb->postmeta}
WHERE meta_key='_wp_price'
AND meta_value IS NOT NULL
AND meta_value <> 0
AND {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
) as min_price,
(SELECT max(cast(meta_value as unsigned))
FROM {$wpdb->postmeta}
WHERE meta_key='_wp_price'
AND meta_value IS NOT NULL
AND meta_value <> 0
AND {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
) as max_price,
FROM {$wpdb->posts}
LEFT JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)
LEFT JOIN {$wpdb->term_taxonomy} ON({$wpdb->term_relationships}.term_taxonomy_id = {$wpdb->term_taxonomy}.term_taxonomy_id)
LEFT JOIN {$wpdb->terms} ON ({$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id)
LEFT JOIN {$wpdb->postmeta} ON ({$wpdb->postmeta}.post_id = {$wpdb->posts}.ID)
WHERE {$wpdb->posts}.post_status="publish"
AND {$wpdb->posts}.post_type="showroom"
ORDER BY {$wpdb->posts}.post_title ASC
";
Note: I don’t have your data in my database so I can’t test that but I am sure that it is at least very close to correct.