 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Sex Set 21, 2018 3:04 pm Assunto: Dúvida SQL (MYSQL) |
|
|
Pessoal, boa tarde
Estou com uma dúvida numa SQL aqui e gostaria da ajuda de vocês, seguinte:
Tenho duas tabelas, uma de vendaprodutos e uma de vendacomplemenos e estou querendo umas SQL q agrupe os produtos vendidos somente se eles não tiverem nenhum complemento acoplado, ex:
vendaprodutos
COD, NOMEPROD, QUANT
1, HAMBURGUER, 1
2, HAMBURGUER, 2
3, HAMBURGUER, 2
vendacomplemntos
COD, CODVENDA, NOMECOMPLEMENTO, QUANT
1, 1, COM BACON, 1
o resultado teria q ser:
NOME, QUANT
HAMBURGUER, 4
HAMBURGUER, 1
pq o HAMBURGUER de código 1 tem um complemento atrelado a ele, senão tivesse ficaria assim
HAMBURGUER, 5 |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Set 21, 2018 4:12 pm Assunto: |
|
|
Boa tarde,
Experimente fazer uns testes mais ou menos dessa forma para ver se funciona:
Código: | select
v.nomeprod,
case when exists(select 1 from vendacomplementos as c where c.codvenda = v.cod)
then 'S'
else 'N'
end as TemComplemento
sum(v.quant) as quant
from vendaprodutos as v
group by
v.nomeprod,
TemComplemento |
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-apartamento |
|
Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Sáb Set 22, 2018 8:04 am Assunto: |
|
|
Estamos quase lá meu amigo, o único detalhe é q não pode ser somado os produtos q tem complemento, eles precisam aparecer num registro único
imex escreveu: | Boa tarde,
Experimente fazer uns testes mais ou menos dessa forma para ver se funciona:
Código: | select
v.nomeprod,
case when exists(select 1 from vendacomplementos as c where c.codvenda = v.cod)
then 'S'
else 'N'
end as TemComplemento
sum(v.quant) as quant
from vendaprodutos as v
group by
v.nomeprod,
TemComplemento |
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-apartamento |
|
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sáb Set 22, 2018 11:42 am Assunto: |
|
|
Experimente dessa forma:
Código: | select
v.nomeprod,
coalesce(c.cod, 0) as complemento,
sum(v.quant) as quant
from vendaprodutos as v
left join vendacomplementos as c
on c.codvenda = v.cod
group by
v.nomeprod,
complemento |
Espero que ajude |
|
Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Seg Set 24, 2018 10:38 am Assunto: |
|
|
Tudo perfeito. Mais uma vez salvando minha vida, MUITO obrigado meu amigo..
imex escreveu: | Experimente dessa forma:
Código: | select
v.nomeprod,
coalesce(c.cod, 0) as complemento,
sum(v.quant) as quant
from vendaprodutos as v
left join vendacomplementos as c
on c.codvenda = v.cod
group by
v.nomeprod,
complemento |
Espero que ajude |
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|