SELECT on column value = X but if no rows available then any column value
Obtain non-'col=X' only if 'col=x' not exists:

SELECT TOP 1000 *
FROM table
WHERE col = CASE WHEN EXISTS (SELECT 1
                              FROM table
                              WHERE col = X)
                 THEN X
                 ELSE col
            END


Obtain 1000 records, 'col=X' first:

SELECT TOP 1000 *
FROM table
ORDER BY CASE WHEN col = X 
              THEN 0
              ELSE 1 END