Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Est-il possible d'utiliser une instruction Case dans une clause sql From

Je ne crois pas que ce soit possible. D'une part, les optimiseurs de requête supposent une liste spécifique d'éléments de type table dans la clause FROM.

La solution de contournement la plus simple à laquelle je puisse penser serait une UNION entre les deux tables :

SELECT  md5
FROM    hr
WHERE   @clienttype = 'Employee'
AND     current = 2
UNION
SELECT  md5
FROM    other
WHERE   @clienttype = 'Member'
AND     current = 2;

Seule la moitié de l'UNION pourrait être True, étant donné le prédicat @clienttype.