Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

É possível usar uma instrução Case em uma cláusula sql From


Não acredito que isso seja possível. Por um lado, os otimizadores de consulta assumem uma lista específica de itens semelhantes a tabelas na cláusula FROM.

A solução mais simples que posso pensar seria uma UNION entre as duas tabelas:
SELECT  md5
FROM    hr
WHERE   @clienttype = 'Employee'
AND     current = 2
UNION
SELECT  md5
FROM    other
WHERE   @clienttype = 'Member'
AND     current = 2;

Apenas metade do UNION pode ser True, dado o predicado @clienttype.