[support] DBTNG query with JOIN and IN
Steve Edwards
killshot91 at gmail.com
Tue Dec 20 03:39:57 UTC 2011
I'm attempting to write DBTNG query for a Migrate v2 class (D6), and I can't quote get a WHERE clause using IN to work. Here's the query I need:
select ngeuu.user_name, ngeu.email_address1
from nge_users ngeu inner join nge_user_to_group_tbl ngeutg
on ngeu.user_id = ngeutg.user_id
where ngeutg.usergroup_id IN (16, 5608, 48, 34, 22, 26, 24, 18, 28, 20, 14, 12, 6879, 36);
This query returns the appropriate amount of rows. The way I have the query written in my Migrate class is:
$query = db_select('nge_users', 'ngeu');
$query->innerJoin('nge_user_to_group_tbl', 'ngeutg', 'ngeu.user_id=ngeutg.user_id');
$query->fields('ngeu', array('user_name', 'email_address1'))
$query->condition('ngeutg.user_id', array(16, 5608, 48, 34, 22, 26, 24, 18, 28, 20, 14, 12, 6879, 36), 'IN');
$query->duplicate();
but I start getting duplicate rows after 4 records, even though the query by itself doesn't return any. How do I need to change this to make it correct?
Thanks.
Steve
More information about the support
mailing list