Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Salim42

Resultado Quadruplicado

Recommended Posts

Bom dia! O Código abaixo deveria me trazer apenas 4 registros como resposta ao invés disto recebo 16 registros

 

 

select 
       ordensCompra.id,
       ordensCompra.data,
       pagamentoOrdemCompra.referencia,
       fornecedores.razaoSocial as razaoSocialFornecedor,
       usuariosAut.nomeCompleto as nomeAutorizador,
       enderecosFornecedores.logradouro as enderecoFornecedor,
       enderecosFornecedores.numero as numeroFornecedor,
       enderecosFornecedores.cep as cepFornecedor,
       itensRequisicaoMaterial.especificacao,
       ordensCompra.prazoEntrega,
       fornecedores.telefone as telefoneFornecedor,
       projetos.pc,
       projetos.nome as nomeProjeto,
       projetos.apelido as apelidoProjeto,
       tiposProjeto.nome as tipoProjeto,
       itensOrdemCompra.quantidade,
       unidadesMedida.sigla,
       insumosServicos.especificacaoResumida,
       itensOrdemCompra.valorUnitario,
       itensOrdemCompra.valorTotal as valorTotalItem,
       pagamentoOrdemCompra.condicoesPagamento,
       ordensCompra.observacoes,
       ordensCompra.desconto,
       ordensCompra.frete,
       ordensCompra.ipi,
       ordensCompra.icms,
       ordensCompra.subTotal,
       ordensCompra.outros,
       ordensCompra.valorTotal,
       faturamentoOrdemCompra.faturarPara,
       faturamentoOrdemCompra.telefone as telefoneFaturamento,
       faturamentoOrdemCompra.cnpj as cnpjFaturamento,
       faturamentoOrdemCompra.inscricaoEstadual as inscricaoEstadualFaturamento,
       faturamentoOrdemCompra.logradouro as enderecoFaturamento,
       faturamentoOrdemCompra.complemento as complementoFaturamento,
       faturamentoOrdemCompra.numero as numeroFaturamento,
       bairroFaturamento.nome as bairroFaturamento,
       cidadeFaturamento.nome as cidadeFaturamento,
       estadoFaturamento.sigla as estadoFaturamento,
       faturamentoOrdemCompra.cep as cepFaturamento,
       entregaOrdemCompra.logradouro as enderecoEntrega,
       entregaOrdemCompra.numero as numeroEntrega,
       entregaOrdemCompra.complemento as complementoEntrega,
       entregaOrdemCompra.cep as cepEntrega,
       bairroEntrega.nome as bairroEntrega,
       cidadeEntrega.nome as cidadeEntrega,
       estadoEntrega.sigla as estadoEntrega,
       cobrancaOrdemCompra.logradouro as enderecoCobranca,
       cobrancaOrdemCompra.numero as numeroCobranca,
       cobrancaOrdemCompra.complemento as complementoCobranca,
       cobrancaOrdemCompra.cep as cepCobranca,
       bairroCobranca.nome as bairroCobranca,
       cidadeCobranca.nome as cidadeCobranca,
       estadoCobranca.sigla as estadoCobranca,
       usuarios.nomeCompleto as criadoPor
from itensOrdemCompra
inner join ordensCompra on ordensCompra.id = itensOrdemCompra.ordemCompraId
inner join pagamentoOrdemCompra on ordensCompra.pagamentoOrdemCompraId = pagamentoOrdemCompra.id
left join faturamentoOrdemCompra on ordensCompra.faturamentoOrdemCompraId = faturamentoOrdemCompra.id
left join entregaOrdemCompra on ordensCompra.entregaOrdemCompraId = entregaOrdemCompra.id
left join cobrancaOrdemCompra on ordensCompra.cobrancaOrdemCompraId = cobrancaOrdemCompra.id
left join bairros as bairroEntrega on entregaOrdemCompra.bairroId = bairroEntrega.id
left join cidades as cidadeEntrega on entregaOrdemCompra.cidadeId = cidadeEntrega.id
left join estados as estadoEntrega on entregaOrdemCompra.estadoSigla = estadoEntrega.sigla
left join bairros as bairroCobranca on cobrancaOrdemCompra.bairroId = bairroCobranca.id
left join cidades as cidadeCobranca on cobrancaOrdemCompra.cidadeId = cidadeCobranca.id
left join estados as estadoCobranca on cobrancaOrdemCompra.estadoSigla = estadoCobranca.sigla
left join bairros as bairroFaturamento on faturamentoOrdemCompra.bairroId = bairroFaturamento.id
left join cidades as cidadeFaturamento on faturamentoOrdemCompra.cidadeId = cidadeFaturamento.id
left join estados as estadoFaturamento on faturamentoOrdemCompra.estadoSigla = estadoFaturamento.sigla
inner join planilhaCotacoes on ordensCompra.planilhaCotacaoId = planilhaCotacoes.id
inner join requisicoesMateriais on requisicoesMateriais.id = planilhaCotacoes.requisicaoMaterialId
inner join projetos on projetos.pc = requisicoesMateriais.pc
inner join tiposProjeto on tiposProjeto.id = projetos.tipoProjetoId
inner join fornecedores on fornecedores.id = planilhaCotacoes.fornecedorId
inner join insumosServicos on insumosServicos.id = itensOrdemCompra.insumoId
inner join unidadesMedida on insumosServicos.unidadeSigla = unidadesMedida.sigla
inner join usuarios on ordensCompra.usuarioCriadorId = usuarios.id
right join itensRequisicaoMaterial on itensRequisicaoMaterial.requisicaoMateriaisId = requisicoesMateriais.id
left join enderecosFornecedores on enderecosFornecedores.fornecedorId =  fornecedores.id
left join usuarios usuariosAut on
planilhaCotacoes.usuarioAutorizadorId = usuariosAut.id
-- where ordensCompra.id = $P{ordemCompraId}
where ordensCompra.id =399

Por favor me ajudem a eliminar as repetições da resposta, creio que o problema esteja no relacionamento da linha

"right join itensRequisicaoMaterial on itensRequisicaoMaterial.requisicaoMateriaisId = requisicoesMateriais.id"

tentei usar o inner join e o left join mas em ambos o resultado foi o mesmo.

 

Obrigado Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com quase certeza algum produto cartesiano indevido, ou faltou um join ou faltou uma ligação de alguns dos joins.

 

Dica : Deve ser de alguma com 4 registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.