For those who wanted to know:
<?php $cat_args = array(
'taxonomy' => 'service_sections',
'orderby' => 'slug',
'order' => 'ASC'
);
$cats = get_categories($cat_args); // passing in above parameters
foreach ($cats as $cat) : // loop through each cat
$cpt_query_args = new WP_Query( array(
'post_type' => 'services',
'service_sections' => $cat->name
)
);
if ($cpt_query_args->have_posts()) : ?>
<div id="<?php echo $cat->slug; ?>">
<?php while ($cpt_query_args->have_posts()) : $cpt_query_args->the_post(); ?>
<div class="<?php echo $cat->slug; ?>" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h3 class="staff-name"><?php the_title(); ?></h3>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
</div>
<?php endif;
wp_reset_query();
endforeach; ?>
Updated to eleminate query_posts