I'm working with Java and MSSQL, I'm running a query with a where statement and wanted to retrieve always at least 20 elements, sometimes the query retrieve 20 records with data but sometimes without data, I'm using top 20, but when is there no match with the passed criteria the resultset comes empty. 

I need a way to ensure at least 20 elements always in the resultset does not matter if I have 20 rows with null elements. If query return 10 elements I need 10 rows more inserted in the resulset.

I'm looking to do that using only SQL statement. I have this but does not fit what I need

```
SELECT top 20 null as PROFILETITLE, null as DOCID 
union all
SELECT t.pag_id,t.contract_number
from (select 1 as adummy) a
left join (
    select pag_id, contract_number from pag_log where pag_id  = 11
) t on 1=1

```

Not sure if this is possible or not.