Sto riscontrando un problema nel tentativo di elaborare la soluzione più accurata per il seguente problema.SQL - CASE STATEMENT - WHEN statement AND statement
Ho una tabella di acquisto che ha una colonna di stato, per cui 1 è autorizzato, 2 è completato e sono anche alcuni altri.
Ho anche una tabella rivenditore, che ha una colonna RetailerProcessType, in cui 1 è in un passaggio e 2 in due passaggi.
Ora vedere la domanda sotto ...
CASE purc.State
WHEN 1 THEN '"AUTHORISED"'
WHEN 2 THEN '"AUTHORISED"'
WHEN 4 THEN '"AUTHORISED"'
ELSE '"DECLINED"'
END AS Autorised_Decline_Status,
Che cosa devo fare è la seguente:
QUANDO STATE = 2, RetailerProcessType = 1 THEN ' "autorizzato"'
QUANDO STATE = 1, RetailerProcessType = 2 THEN ' "PENDING"'
QUANDO STATE = 2, RetailerProcessType = 2 THEN ' "autorizzato"'
ELSE ' 'rifiutato''
L'unico modo che posso vedere di fare questo sta avendo un enorme IF intorno la query, uno per un rivenditore di uno stadio e un altro per un due fasi, come la mia comprensione è una clausola WHEN non può avere un 'AND' in esso.
Tuttavia, questo sembra orribile e lungo, nessuno ha avuto idee più ordinate?
Steven