Obrigado David pelo retorno,
Sua sugestão funcionou, mas fico preocupado quando efetuar está consulta com centenas de produtos selecionados, pode demorar a demonstrar o resultado.
Estou me aperfeiçoando no java, assim tenho algumas limitações ainda.
O seu select está agrupando tudo em um único produto, ou melhor, o ultimo das vendas.
nome totalVedas mes ano
cabeçote 3 12 2020
mas preciso que seja assim:
nome totalVedas mes ano
cabeçote 2 12 2020
parafuso 1 12 2020
segue o dados do banco:
CREATE TABLE vendas
(
codigo
int(11) NOT NULL,
clientes_codigo
int(11) NOT NULL,
placas_codigo
int(11) NOT NULL,
data_venda
date DEFAULT NULL,
valor_total
float DEFAULT NULL,
desconto
float DEFAULT NULL,
tipo
tinyint(1) NOT NULL,
observacao
varchar(2000) CHARACTER SET utf8 DEFAULT ’ ',
tipo_pagamento
int(10) UNSIGNED NOT NULL,
codigo_usuario
int(10) UNSIGNED NOT NULL,
taxa_entrega
float NOT NULL DEFAULT 0,
acrescimo_porc
float NOT NULL,
acrescimo_valor
float NOT NULL,
troco
float NOT NULL,
tipo_venda
tinyint(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
–
– Extraindo dados da tabela vendas
INSERT INTO vendas
(codigo
, clientes_codigo
, placas_codigo
, data_venda
, valor_total
, desconto
, tipo
, observacao
, tipo_pagamento
, codigo_usuario
, taxa_entrega
, acrescimo_porc
, acrescimo_valor
, troco
, tipo_venda
) VALUES
(2, 1, 0, ‘2020-12-19’, 679.99, 0, 1, ‘’, 0, 1, 0, 0, 0, 0, 0),
(3, 1, 0, ‘2020-12-20’, 197.46, 0, 1, ‘’, 0, 1, 0, 0, 0, 0, 0);
CREATE TABLE vendas_produto
(
codigo
int(11) NOT NULL,
quantidade
float DEFAULT NULL,
valor_unitario
double NOT NULL,
codigo_venda
int(11) NOT NULL,
codigo_produto
int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
–
– Extraindo dados da tabela vendas_produto
INSERT INTO vendas_produto
(codigo
, quantidade
, valor_unitario
, codigo_venda
, codigo_produto
) VALUES
(2, 1, 679.99, 2, 9),
(3, 2, 98.73, 3, 8);