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

Aggiungi una riga vuota ai risultati della query se non vengono trovati risultati

Pochissime opzioni, temo.

Devi sempre toccare il tavolo due volte, sia COUNT, EXISTS prima, EXISTs in UNION, clausola TOP ecc

select
    id, category
from mytable
where category = @category
union all --edit, of course it's quicker
select
    0, ''
where NOT EXISTS (SELECT * FROM mytable where category = @category)

Una soluzione EXISTS è meglio di COUNT perché si fermerà quando trova una riga. COUNT attraverserà tutte le righe per conteggiarle effettivamente