The query_posts() is using the WP_Query to fetch the results and the argument post_type can support for the array values too. It means you can add more then one post type name.
'post_type' => array('products', 'portfolio', 'banners'),
'posts_per_page' => 50
I haven't tried it with query_posts() but I hope this can help you. But If you use it with WP_Query the defiantly it will works.