 |
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: Ter Out 03, 2017 11:20 am Assunto: Dúvida SQL (MYSQL) |
|
|
Caros amigos, estou com uma dúvida de como resolver uma questão quando envolve um movimento com vários pagamentos, vou passar um exemplo bem simples:
Tenho um movimento que pode ter vários tipos de pagamento
tabela movimento
COD, DATA
tabela pagamento
COD, CODMOV, FORMAPAGAMENTO, VALOR
o q eu quero é o seguinte: Uma sql que me retornasse a DATA do movimento junto com a forma de pagamento e o valor total, só que eu não queria que mostrasse duas ou três ou quatro linhas caso tivessem várias formas de pagamento. Gostaria de forma abaixo:
Caso tenha somente 1 pagamento:
DATA, FORMA DE PAGAMENTO, VALOR TOTAL
Caso tenha mais de 1 pagamento:
DATA, "Existe mais de uma forma de pagamento", VALOR TOTAL.
Agradeço antecipadamente. |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Out 03, 2017 1:57 pm Assunto: |
|
|
Boa tarde,
Não tenho nenhuma experiência com o MySQL mas experimente dessa forma:
| Código: | select
m.Cod,
m.Data,
case when count(distinct p.FormaPagamento) = 1
then min(p.FormaPagamento)
else 'Existe mais de uma forma de pagamento'
end as FormaPagamento,
sum(p.Valor) as ValorTotal
from Movimento as m
inner join Pagamento as p
on p.Cod = m.Cod
group by
m.Cod,
m.Data |
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos!centro-residencial-casa |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Ter Out 03, 2017 3:22 pm Assunto: |
|
|
Deu certo meu amigo, MUITO obrigado...
| imex escreveu: | Boa tarde,
Não tenho nenhuma experiência com o MySQL mas experimente dessa forma:
| Código: | select
m.Cod,
m.Data,
case when count(distinct p.FormaPagamento) = 1
then min(p.FormaPagamento)
else 'Existe mais de uma forma de pagamento'
end as FormaPagamento,
sum(p.Valor) as ValorTotal
from Movimento as m
inner join Pagamento as p
on p.Cod = m.Cod
group by
m.Cod,
m.Data |
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos!centro-residencial-casa |
|
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|