Inner join

Bom Dia Galeraaa!!!

Meu problema eh o seguinte, estou gerando um relatorio que no relatorio principal, utilizo a tabela “composicao_familiar”. Criei um subRelatorio para exibir a regiao que a pessoa mora, porém para eu chegar no nome da regiao, tenho que seguir o seguinte caminho:

“composicao_familiar.Cod_Beneficiario” vai para “beneficiario.Cod_Beneficiario”
(Beneficiario é o pai/mae da criança)

“beneficiario.Cod_Bairro” vai para “bairro.CodBairro”

“bairro.Cod_Regiao” vai para “regiao.Cod_Regiao”

“regiao.Nom_Regiao”.

Será que deu pra entender???
Se num der me falem que eu esclareco melhor…

mas voltando ao assunto, a partir desse caminho, eu coloquei a seguinte query SQL:

“select Nom_Regiao from regiao inner join ((bairro inner join beneficiario
on beneficiario.Cod_Bairro=bairro.Cod_Bairro) inner join composicao_familiar
on composicao_familiar.Cod_Beneficiario=beneficiario.Cod_Beneficiario)
on bairro.Cod_Regiao=regiao.Cod_Regiao where composicao_familiar.Cod_Beneficiario=$P{NOME_REGIAO}”

e “NOME_REGIAO” é o Cod_Beneficiario da tabela “composicao_familiar”.

Porem, quando eu executo o relatorio principal, aparece soh o primeiro registro da tabela “regiao”.

Que que eu façoooooo???
Me ajudem aeeeeeeewwwww!!!

opa… blz???

olha se é isso que voce esta querendo fazer?

“select Nom_Regiao from regiao
inner join bairro on bairro.Cod_Regiao=regiao.Cod_Regiao
inner join beneficiario on beneficiario.Cod_Bairro=bairro.Cod_Bairro
inner join composicao_familiar on composicao_familiar.Cod_Beneficiario=beneficiario.Cod_Beneficiario
where composicao_familiar.Cod_Beneficiario=$P{NOME_REGIAO}”

Flavio, eh exatamente isso cara!!!

Valeu msm!!!

:smiley: precisando é so falar… estamos ai pra isso…

so mais uma dica… utilize apelidos para suas tabelas… facilita muito na hora de entender a consula sql.
por a consulta que era assim:

“select Nom_Regiao from regiao
inner join bairro on bairro.Cod_Regiao=regiao.Cod_Regiao
inner join beneficiario on beneficiario.Cod_Bairro=bairro.Cod_Bairro
inner join composicao_familiar on composicao_familiar.Cod_Beneficiario=beneficiario.Cod_Beneficiario
where composicao_familiar.Cod_Beneficiario=$P{NOME_REGIAO}”

poderia ficar assim:

“select Nom_Regiao from regiao reg
inner join bairro bai on bai.Cod_Regiao=reg.Cod_Regiao
inner join beneficiario ben on ben.Cod_Bairro=bai.Cod_Bairro
inner join composicao_familiar fam on fam.Cod_Beneficiario=ben.Cod_Beneficiario
where fam.Cod_Beneficiario=$P{NOME_REGIAO}”

abraços

Façam o que o flaviojunior disse, e encontrarão a glória.