Migrating taxonomy terms when source is a separate table?
The piece I was missing was GROUP_CONCAT for the attachment table. My query now looks like this:

$query = Database::getConnection('default', 'wp')
       -&gt;select('artists', 'a');
$query-&gt;join('attachment', 'at', 'a.artist_id = at.attachment_target_id');
$query-&gt;fields('a',
          array(
              'artist_id',
              'artist_name',
              'artist_publish_date',
              'artist_bio',
              'artist_record_company',
              'artist_social_links',
          )
        );
//Pull in genres.
$query-&gt;addExpression('GROUP_CONCAT(DISTINCT at.attachment_info)', 'genres'); 
$query-&gt;condition('at.attachment_target', 'artist');
$query-&gt;condition('at.attachment_type', 'genre');
$query-&gt;groupBy('a.artist_id');