Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dodaj pusty wiersz do wyników zapytania, jeśli nie znaleziono wyników

Obawiam się, że bardzo niewiele opcji.

Zawsze musisz dotknąć tabeli dwa razy, niezależnie od tego, czy COUNT, EXISTS before, EXISTs in UNION, TOP itd.

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)

Rozwiązanie EXISTS jest lepsze niż COUNT, ponieważ zatrzyma się, gdy znajdzie wiersz. COUNT przemierzy wszystkie wiersze, aby je policzyć



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zapytanie sql - pobierz wszystkie rekordy na podstawie flagi

  2. Jak wstawić do tabeli, która określa wartość DEFAULT dla każdej kolumny?

  3. Standardowa tabela HTML z sumą z tabeli SQL Server

  4. Jak wykluczyć rekordy z określonymi wartościami w sql select

  5. Porównaj 2 tabele w sql