Mysql duplicando resultados na consulta select [RESOLVIDO]

boa tarde galera, sou novo no forum e estou iniciando em programação java com bd mysql, estou com um problema de duplicidade no retorno da minha consulta sql, busquei em varios forum e sites e nao achei nada parecido com meu problema, se puderem me ajudar agradeço

segue meu select

SELECT DISTINCT 
o.id    as orcamento_id, 
s.id    as servico_id, 
s.servico, 
s.descricao, 
s.valor, 
p.id    as pecas_id, 
p.nome, 
p.quantidade, 
p.valor_unitario, 
p.valor_total, 

FROM
servico AS s
INNER JOIN orcamento AS o ON (s.orcamento_id = o.id)
INNER JOIN pecas AS p on (p.orcamento_id = o.id)
WHERE
o.id = 2

segue meu prints das consultas

Boa tarde. Pelo que vi ai. A consulta esta duplicando porque vc esta juntando duas listagens distintas em uma consulta. Uma listagem é a de peças do orçamento e outra listagem é a de de serviços desse orçamento. Se vc vai mostrar a consulta na tela. Vc pode fazer na verdade 3 consultas. Vc gera 3 consultas ao mesmo tempo. E em um lugar da tela vc mostra os dados da consulta do orçamento. Em outro grid vc carrega a consulta dos serviços desse mesmo orçamento. E em outra grid vc carrega as peças desse mesmo orçamento.
Assim sua necessidade pode ser outra. Mas pelo que vi ai é uma questão de interpretação do que vc precisa gerar porque o sql esta duplicando porque esse select esta pedindo isso. E do jeito que a consulta esta ela poderia ser usada em algum relatorio dependendo de sua necessidade.
Usando agrupamento no relatório.

boa tarde elanod, isso mesmo minha necessidade desse sql e para mostrar no reltorio do jasper, eu tenho em uma tabela os sql separados conforme vc falou, porem minha necessidade e para o reltario mesmo… esse aqui…
view.pdf (193,0 KB)

Acredito que o que vc quer vc vai fazer com subrelatorio.
Conforme o exemplo do link a baixo(traduz.no google a pagina).
Vc vai usar a mesma logica do exemplo. mas no seu caso vc vai usar no masterReport a consulta do orcamento (idorcamemto,data etc) e vc tera outra consulta para exibir o subReport de peças(nela tera lista de peças do orçamento relacionados com o masterReport do relatorio pelo campo idorcamento) e vc tera outra consulta para exibir o subReport serviços(nela tera a lista de serviços do orçamento relacionado com o mesmo master report pelo campo idorcamento).

1 curtida