Query com 3 tabelas

Boa tarde, estou fazendo um relatorio com JasperStudio, e ele está retornando a consulta SQL com este resultado:

vejam que as vendas estão triplicadas, e vejam tbm que a coluna DATA está com a data e a hora

o que eu gostaria é, que apenas uma venda de cada id aparece, ou seja, 4 vendas e não 12 como está aparecendo e tbm gostaria que na coluna data, apenas a data em si seja mostrada, sem a hora

pesquisando vi que o problema está na query(que foi gerada pelo próprio Jasper)

query:

SELECT fjsistemas.cliente.nome,
	fjsistemas.venda.id,
	fjsistemas.venda.data_venda,
	fjsistemas.venda.valor_total_venda,
	fjsistemas.forma_de_pagamento.forma_de_pagamento
FROM fjsistemas.cliente,
	fjsistemas.forma_de_pagamento,
	fjsistemas.venda

aqui estão as tabelas:

tabela venda:

tabela cliente

tabela foma de pagamento

Como obter o resultado desejado neste caso? eu não tenho experiência com sql, descobri pesquisando que preciso usar Inner Join, mas não sei como usar

Acredito que vc queira isso:

Tente executar e veja se retorna os registros da forma correta.

SELECT 
	cliente.nome,
	venda.id,
	venda.data_venda,
	venda.valor_total_venda,
	formaPagamento.forma_de_pagamento
FROM 
	fjsistemas.venda venda
	INNER JOIN fjsistemas.cliente cliente 
		ON cliente.id = venda.cliente_id
	INNER JOIN fjsistemas.forma_de_pagamento formaPagamento 
		ON venda.forma_de_pagamento_id = formaPagamento.id
1 curtida

@rafaspara2017 Uma pergunta nada a ver com sua dúvida: Vc escolheu por deixar a aplicação gerar as tabelas do seu sistema?

1 curtida

@Lucas_Camara, sim deixei, acho que num primeiro momento seja mais facil de trabalhar desta forma, mas futuramente quero alterar isto.

maravilha, ficou certinho…muito obg meu amigo!!