sql >> Databasteknik >  >> RDS >> Sqlserver

Lägg till en tom rad i frågeresultaten om inga resultat hittades

Väldigt få alternativ är jag rädd.

Du måste alltid röra tabellen två gånger, oavsett om COUNT, FINNS före, FINNS i UNION, TOP-sats etc.

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)

En FINNS lösning är bättre än COUNT eftersom den kommer att sluta när den hittar en rad. COUNT kommer att gå igenom alla rader för att faktiskt räkna dem



  1. En datamodell för barnkalas

  2. Skriva objekt till en MySQL-databas i Scrapy

  3. Entity Framework - Linq-fråga med ordning efter och grupp efter

  4. Välj en kolumn med ett nyckelordsnamn