You can combine both clauses using a where:Select * from tableWHERE field = value OR field >= (select max(field) from table where field not in (select max(field) from table))
Alternatively, you could use a UNION:Select * from table where field = valueUNIONSelect * from table where field >= (select max(field) from table where field not in (select max(field) from table))
Both of these will return only two rows if the row returned by field=value happens to be one of the top 2 rows. What do you want to happen in that case?Also, there may be better (as in more readable and possibly even more efficient) ways of finding the top 2. For example:SELECT TOP (2) * FROM TABLE ORDER BY field