Проблема заключается в этапе компиляции против этапа исполнения . Код изначально компилируется, где проверяются таблицы и столбцы.
Ваша проблема в том, что столбец не существует, поэтому вы получаете ошибку компиляции.
Это можно исправить с помощью динамического SQL:
DECLARE @sql NVARCHAR(max);
IF (COL_LENGTH('Employees', 'EmpID') IS NOT NULL)
SET @sql = N'
Select EmpID, NAME, SEX, SALARY
From Employees
Where EmpID IS NOT NULL'
ELSE
SET @sql = N'
Select ID, NAME, SEX, SALARY
From Employees
Where ID IS NOT NULL'
EXEC sp_executesql @sql;