Fórum Usando um Select dentro de um Inner JOIN #57088

18/10/2006

0

Olá estou tendo dificuldades em montar o seguinte select no Firebird, este select funcionou perfeitamente no MySQL.

select imv.ID_IMOVEL ´Index´, imvpais.nome ´Pais´, imvest.nome ´Estado´, imvloc.nome ´Localidade´, imvreg.nome ´Regional´, imvbro.nome ´Bairro´, tlgr.SIGLA ´Tp.´, lgr.NOMEOFICIAL ´Logradouro´, imv.nome ´Edf.´, imv.numero ´Num.´
FROM IMOVEL imv
INNER JOIN LOGRADOURO lgr ON imv.ID_LOGRADOURO = lgr.ID_LOGRADOURO
INNER JOIN TIPOLOGRADOURO tlgr ON lgr.ID_TIPOLOGRADOURO = tlgr.ID_TIPOLOGRADOURO
LEFT JOIN (SELECT imvagg_tmp.ID_IMOVEL, bro.ID_AGRUPGEO, bro.nome FROM IMOVEL_AGRUPGEO imvagg_tmp
INNER JOIN AGRUPGEO bro ON bro.ID_AGRUPGEO = imvagg_tmp.ID_AGRUPGEO AND bro.ID_TIPOGEOGRAFICO = ´B´
) imvbro ON imv.ID_IMOVEL = imvbro.ID_IMOVEL
LEFT JOIN (SELECT imvagg_tmp.ID_IMOVEL, est.ID_AGRUPGEO, est.nome FROM IMOVEL_AGRUPGEO imvagg_tmp
INNER JOIN AGRUPGEO est ON est.ID_AGRUPGEO = imvagg_tmp.ID_AGRUPGEO AND est.ID_TIPOGEOGRAFICO = ´R´
) imvreg ON imv.ID_IMOVEL = imvreg.ID_IMOVEL
LEFT JOIN (SELECT imvagg_tmp.ID_IMOVEL, est.ID_AGRUPGEO, est.nome FROM IMOVEL_AGRUPGEO imvagg_tmp
INNER JOIN AGRUPGEO est ON est.ID_AGRUPGEO = imvagg_tmp.ID_AGRUPGEO AND est.ID_TIPOGEOGRAFICO = ´L´
) imvloc ON imv.ID_IMOVEL = imvloc.ID_IMOVEL
LEFT JOIN (SELECT imvagg_tmp.ID_IMOVEL, est.ID_AGRUPGEO, est.nome FROM IMOVEL_AGRUPGEO imvagg_tmp
INNER JOIN AGRUPGEO est ON est.ID_AGRUPGEO = imvagg_tmp.ID_AGRUPGEO AND est.ID_TIPOGEOGRAFICO = ´E´
) imvest ON imv.ID_IMOVEL = imvest.ID_IMOVEL
LEFT JOIN (SELECT imvagg_tmp.ID_IMOVEL, est.ID_AGRUPGEO, est.nome FROM IMOVEL_AGRUPGEO imvagg_tmp
INNER JOIN AGRUPGEO est ON est.ID_AGRUPGEO = imvagg_tmp.ID_AGRUPGEO AND est.ID_TIPOGEOGRAFICO = ´P´
) imvpais ON imv.ID_IMOVEL = imvpais.ID_IMOVEL

Grato pela atenção!


Carlosdelfino

Carlosdelfino

Responder

Posts

20/10/2006

Rodolpho123

Este tipo de select só está disponível na versão 2.0


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar