Como fazer left join com subquery?

Código Fonte:

__includeOnce(-1897036629); /* IQuery.ijs */

var loc = IQuery.from(-1894743013); /* Localizadores */

var med = IQuery.from(-1894743008) /* Medições */

.where([{field: "DATA", operator: ">=", value: new Date(2013, 0, 1)}])

.column([{field: "POSICAOLOCALIZADOR", alias: "POSICAO"}, {field: "MEDICAO"}, {field: "DATA"}]);

// a linha acima pode ser suprimida

loc = loc.leftOuterJoin(med)

.on([{field: "CHAVE", operator: "=", value: med.column({field:"LOCALIZADOR"}) }]);

loc = loc.column([{field: "CHAVE"}]);

loc.toSql();

SQL gerado:

SELECT ENTIDADE1.chave,

EVENTO2.posicao,

EVENTO2.medicao,

EVENTO2.data,

EVENTO2.localizador

FROM entidade ENTIDADE1

LEFT OUTER JOIN (SELECT EVENTO2.posicaolocalizador AS POSICAO,

EVENTO2.medicao,

EVENTO2.data,

EVENTO2.localizador

FROM evento EVENTO2

WHERE ( EVENTO2.data >= '01/01/2013' )

AND ( EVENTO2.classe IN (

-1894833940, -1894815028,

-1894814878,

-1894814870,

-1894814854, -1894814853,

-1894743008,

108008301 ) )) EVENTO2

ON ( ENTIDADE1.chave = EVENTO2.localizador )

WHERE ( ENTIDADE1.classe IN ( -1894743013, 120241501 ) )