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

È possibile utilizzare un'istruzione Case in una clausola sql From

Non credo sia possibile. Per prima cosa, gli ottimizzatori di query presuppongono un elenco specifico di elementi simili a tabelle nella clausola FROM.

La soluzione più semplice che mi viene in mente sarebbe un'UNIONE tra le due tabelle:

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

Solo la metà di UNION potrebbe essere True, dato il predicato @clienttype.