CALCULO DATA EM SQL

IRENKO 28/08/2015 09:47:13
#450596
Pessoal, estou anexando um banco exemplo em access para uma pesquisa que não tenho ideia como fazer.
é o seguinte, podem observar na tabela o cadastro de 03 caras sendo:

Cara ID 2 a data de pagamento é sempre atrasado
Cara ID 10 data de pagamento atrasado mas até o 5 dia
Cara ID 13 Pagamento sempre em dia ou antes do vencimento

Para o Cara 2 o Status seria (Ruim)
Para o Cara 10 o Status seria (Bom)
Para o Cara 13 o Status seria (Otimo)

Pergunto, como seria essa SQL calculando esses parametros com data de vencimento e pagamento?

Grato

TUNUSAT 28/08/2015 14:25:55
#450612
Resposta escolhida
IRENKO,

Experimenta usar dentro do [Ô]SELECT[Ô] um comando chamado [Ô]Switch[Ô] ou o [Ô]IIF[Ô].
Exemplo:
===============================================================
Use of Switch in MS Access SQL
http://stackoverflow.com/questions/4544851/use-of-switch-in-ms-access-sql
===============================================================
SELECT User, Switch(Approve>0,Pass/Approve, Approve = 0, Null) AS passed_approved_ratio, Switch(Reject>0,Fail/Reject, Reject= 0, Null) AS fail_reject_ratio
FROM Weekly

SELECT Iif([Approve]>0, Pass/Approve, Null) as pass_approved_ratio
FROM Weekly

===============================================================
default value for switch in access 2007
http://stackoverflow.com/questions/16293782/default-value-for-switch-in-access-2007
===============================================================
select 
switch
(
MyCol = 1, [ô]Value is One[ô],
MyCol = 2, [ô]Value is Two[ô]
True,[Ô]Default[Ô]
) from MyT

===============================================================
Using the Switch Function in Microsoft Access
http://www.experts-exchange.com/articles/3556/Using-the-Switch-Function-in-Microsoft-Access.html
===============================================================
MS Access: Switch Function
http://www.techonthenet.com/access/functions/advanced/switch.php
===============================================================
Citação:

The function SWITCH evaluate a list of expressions and returns the value of the first expression that TRUE is. If there are no expression TRUE then it returns NULL. This is not a standard function and exist for compatible with MS Access.


http://www.smallsql.de/doc/sql-functions/system/switch.html
===============================================================
What is the equivalent of Select Case in Access SQL?
http://stackoverflow.com/questions/15774078/what-is-the-equivalent-of-select-case-in-access-sql
===============================================================

Se não conseguir, avisa!

[][ô]s,
Tunusat.
F001E 28/08/2015 14:37:02
#450614
Tenta isso...

SELECT VENCIMENTO, PAGAMENTO,
SWITCH
(DateDiff([Ô]D[Ô],[VENCIMENTO],[PAGAMENTO]) > 5, [ô]RUIM[ô],
DateDiff([Ô]D[Ô],[VENCIMENTO],[PAGAMENTO]) <= 5, [ô]BOM[ô]
PAGAMENTO <= VENCIMENTO, [ô]ÓTIMO[ô]
) AS STATUS,
FROM TBDATA

Tópico encerrado , respostas não são mais permitidas