SELECT EM TRÊS TABELAS COMPARANDO DATA
15/05/2019
0
A tabela PRV_PARCELAS possui a data de pagamento que preciso comparar com a data de atendimento que esta na tabela PRV_ATENDIMENTOS, ambas as tabelas possuem relacionamento com a tabela PRV_VENDAS.
Fiz um select mas esta duplicando valores e não esta consistente, alguem consegue me ajudar??
select distinct b.Cod_Venda, a.Cod_Venda, b.Cod_Venda, a.Data_Atendimento, b.Data_Pagamento
from dbo.PRV_Atendimentos$ a, dbo.PRV_Parcelas$ b, dbo.PRV_Vendas$ c
where CONVERT(VARCHAR(10),a.Data_Atendimento,111) between '2017-05-01' and '2017-05-31'
and a.Cod_Venda = b.Cod_Venda
and a.Data_Atendimento <= b.Data_Pagamento
order by 2 desc ;
Jorgelessa
Posts
15/05/2019
Binoti
15/05/2019
Jorgelessa
Será que tem como filtrar as vendas comparando as vendas das PRV_PARCELAS x vendas da PRV_VENDAS e com o resultado verificar as vendas desse resultado que existe na PRV_ATENDIMENTOS e fazer uma comparação de data entre a PRV_PARCELAS(data_pagamento) X PRV_ATENDIMENTO(data_atendimento) e retornar a quantidade de vendas que foram pagas depois do atendimento?
16/05/2019
Emerson Nascimento
há campos que você não citou. isto foi só pra te dar um 'norte'.
select c.Cod_Venda, b.Num_Parcela, b.Data_Vencimeto, a.Data_Atendimento, b.Data_Pagamento from dbo.PRV_Vendas$ c inner join dbo.PRV_Parcelas$ b on b.ID_CLIENTE = c.ID_CLIENTE and b.COD_VENDA = c.COD_VENDA and ((b.Data_Pagamento is null and b.Data_Vencimento < GETDATE()) or (b.Data_Pagamento > b.Data_Vencimento)) -- parcelas vencidas ou pagas com atraso left join dbo.PRV_Atendimentos$ a on a.Cod_Venda = b.Cod_Venda and a.Data_Atendimento > b.Data_Vencimento -- atendimento efetuado após o vencimento da parcela and (b.Data_Pagamento is null or a.Data_Atendimento <= b.Data_Pagamento) -- parcela ainda em aberto ou paga após o atendimento where b.Data_Pagamento is null or CONVERT(VARCHAR(10),a.Data_Atendimento,111) between '2017-05-01' and '2017-05-31' group by c.Cod_Venda, b.Num_Parcela, b.Data_Vencimeto, a.Data_Atendimento, b.Data_Pagamento order by c.Cod_Venda desc
desta forma deverão ser apresentados todos os títulos vencidos (ainda em aberto) ou pagos depois do atendimento.
Clique aqui para fazer login e interagir na Comunidade :)