Problemas com hql

Pessoal,

Tenho o seguinte hql

select distinct imovel.id, localidade.id, setorComercial.codigo, quadra.numeroQuadra, imovel.lote, imovel.subLote from Imovel imovel inner join imovel.localidade localidade inner join imovel.quadra quadra inner join quadra.setorComercial setorComercial inner join imovel.ligacaoAgua ligacaoAgua left join ligacaoAgua.hidrometroInstalacaoHistorico hidrometroInstalacaoHistoricoAgua left join hidrometroInstalacaoHistoricoAgua.hidrometro hidrometroAgua left join imovel.hidrometroInstalacaoHistorico hidrometroInstalacaoHistorico left join hidrometroInstalacaoHistorico.hidrometro hidrometro inner join imovel.medicaoHistoricos medicaoHistorico with medicaoHistorico.ligacaoAgua.id = ligacaoAgua.id inner join imovel.consumosHistoricos consumosHistorico where (imovel.ligacaoAguaSituacao.id = 3 or imovel.ligacaoAguaSituacao.id = 4) and hidrometroInstalacaoHistoricoAgua.id is not null and to_char(hidrometroInstalacaoHistoricoAgua.dataInstalacao,'yyyy-mm-dd') < '2009-2-7' and consumosHistorico.consumoMedio <= 12 order by localidade.id, setorComercial.codigo, quadra.numeroQuadra, imovel.lote, imovel.subLote

So que estou tendo erro de
"org.hibernate.hql.ast.QuerySyntaxException: with-clause referenced two different from-clause elements"
por causa da clausula with que eu uso num dos joins.
acontece que eu quero fazer uma comparaçao do campo ligacaoAgua de medicaoHistorico com a tabela de ligaçaoAgua. sem o with, o hql ate roda, mas a logica fica errada, pois ele compara com o campo medicaoHistorico da tabela imovel.

Alguem tem uma luz ai?

Cara essa sua hql estah um pouco estranha, uma dica seria vc criar uma visao no seu bd com os campos q vc quer listar e mapea-la como se fosse uma classe com os seus beans, e entao vc faria uma hql em cima dessa visao para retornar os dados desejados. Boa sorte!