Salim42 0 Denunciar post Postado Agosto 6, 2010 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
Motta 645 Denunciar post Postado Agosto 6, 2010 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