CASE возвращается только тогда, когда количество идентификаторов в день равно X сумме к X времени этого дня - PullRequest
0 голосов
/ 19 сентября 2019
SELECT 
    CASE WHEN
        ((SELECT
            COUNT(DISTINCT s.id)
        FROM Samples s
        ) < 20)
    THEN 'ALERT' ELSE NULL
END

Попытка настроить оповещение, которое будет происходить только один раз в день, если число идентификаторов меньше 20 к 9 часам утра этого дня.Пока не особо заботишься о самой работе.Просто хочу получить наиболее эффективный способ выбросить требуемую логику в CASE.

dbo.Samples имеет поле DATETIME [insert_dt] для каждого идентификатора, который, вероятно, может быть использован здесь, я бы вообразил?

Спасибо,

1 Ответ

0 голосов
/ 19 сентября 2019

позволяет использовать ваш insert_dt, вы можете рассмотреть этот запрос.

select case when t1.ct < 20 then 'Alert' else null end from 
 (select count(distinct id) ct from Samples where insert_dt <= getdate() - 1) as t1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...