Есть ли функция на сервере sql & ldquo; isEmpty & rdquo; возвращать данные, если select возвращает пустой набор результатов

Действия ребенка должны быть вызваны синхронно. Проблема 601 Я также не знаю недавних обновлений текущих библиотек MVC, разрешающих эту функциональность.

Комментарий к выпуску 601, намекает на добавление этой функциональности в MVC vNext, ака. MVC6. Действия ребенка выглядят заменяемыми на ViewComponent, которые можно асинхронно вызывать из представления, как показано ниже. Здесь приведены примеры здесь и здесь

@await Component.InvokeAsync("YourComponent")

Подробнее о MVC6, http://www.asp.net/vnext / overview / aspnet-vnext / overview

Примечание: этот ответ является просто формальностью, поэтому вопрос может быть отмечен как ответ

1
задан WhatsThePoint 5 March 2019 в 10:52
поделиться

3 ответа

Предполагая , что у вас есть другая таблица со всеми вашими сотрудниками (если нет, откуда приходят сотрудники 3, 4 и 5?), Вы можете использовать LEFT JOIN на ваш пример таблицы (_table):

SELECT e.empid,
       ISNULL(t.No_of_days,0)
FROM Employee e --No idea what your employee table is actually called, so guessed.
     LEFT JOIN _table t ON e.empid = t.empid;

Это обеспечит строки для всех ваших сотрудников. Если бы вы хотели только 3, 4 и 5, то вы бы добавили свои WHERE:

 WHERE e.empid IN (3,4,5)
0
ответ дан Larnu 5 March 2019 в 10:52
поделиться

Вы можете использовать values() конструкцию & amp; сделайте left join:

select tt.empid, isnull(t.No_of_days, 0)
from ( values (3), (4), (5) 
     ) tt (empid) left join
     table t
     on t.empid = tt.empid;

РЕДАКТИРОВАТЬ: Если у вас больше идентификатора employee, то вы должны иметь один промежуточный стол и усилитель; делать left join:

select tt.empid,
       ISNULL(t.No_of_days, 0)
from table tt left join -- possible employee id table
     [_table] t
     on t.empid = tt.empid;
0
ответ дан Yogesh Sharma 5 March 2019 в 10:52
поделиться

используйте coalesce

   select coalesce(No_of_days,0) 
  from _table WHERE EmpId in( 3 , 4 , 5)

Кстати, используйте In вместо or, и если вам нужно нажать эти идентификаторы в EmpId 1-ом, то coalesce () будет работать иначе, если в empid нет значений тогда это не будет работать

0
ответ дан Zaynul Abadin Tuhin 5 March 2019 в 10:52
поделиться