Writing a migration from non a non Drupal site How can I translate this in a migrate query?

SELECT t.name FROM tags t 
    join tag_types tt on (tt.id = 3)
    join story_tags stg on (stg.tag_id = t.id) WHERE story_id = $row_id'   


I tried this, but it doesn't work.  

-&gt;select('story_tags', 'tags')
-&gt;fields('tags', array('tag_id'))
-&gt;leftJoin('tag_types', 'tt', '(tt.id = tag.tag_type_id)')
-&gt;condition('tag_type_id', '3', '=' )
-&gt;condition('story_id', $row-&gt;id, '=')
-&gt;execute()
-&gt;fetchCol();  


What am I missing?
It might not be the answer you are looking for, as it is not Migrate, but when I did this a couple years ago for a large client this is how I did it.  

First, I set up the Feed Import module and a map of column names to desired fields.  Second, on the various non-drupal sites that I was migrating to a single drupal install I exported the data to csv files paying careful attention to the column aliases so they matched the map.  Also, as it totalled a lot of rows, I broke it into several files to run them in batches.  Using an anchored feed import, I was able to run them in batches and subsets of data, to purge and re-import any set as needed, and to group all the difficult international names together by sorting my csv files.  

It took a day for every 10,000 nodes I imported.