Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

COALESCE nella clausola Where?

La risposta di @Blorgbard (usando il primo 1 e ordina per) è probabilmente il modo migliore, ma solo per essere diverso potresti anche usare una sottoquery e non esiste:

SELECT name FROM names 
WHERE (colA = @colA) OR (colA = 'ALL' AND NOT EXISTS(
                                                SELECT name FROM names 
                                                WHERE colA = @colA)) 

Immagino che il "vantaggio" di questo sia che utilizza più sql standard.