у меня все работает отлично
тестовые таблицы: 
CREATE TABLE `t1` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `type` int(11) unsigned NOT NULL,
  `t2id` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `t1` (`id`, `type`, `t2id`) VALUES 
  (1,1,1),
  (2,2,1),
  (3,3,1),
  (4,1,2),
  (5,2,3),
  (6,1,3),
  (7,3,4),
  (8,4,5),
  (9,1,5);
CREATE TABLE `t2` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `xxx` char(20) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
INSERT INTO `t2` (`id`, `xxx`) VALUES 
  (1,\'c1\'),
  (2,\'c2\'),
  (3,\'c3\'),
  (4,\'c4\'),
  (5,\'c5\'),
  (6,\'c6\');
Запрос: 
SELECT `t2`.* FROM `t1`, `t2` WHERE `t2`.`id` = `t1`.`t2id` AND `t1`.`type` = 1;