То, что я пытаюсь сделать, это то, что если пользователь A заработал в 2019/04/29 году, пользователь A не сможет включить его в течение этой даты до завтра или послезавтра.
Так что в основном этот оператор SQL работает, но он не покажет пользователю A никакой ошибки и вставит двойную запись.
IF EXISTS(select createddate from clockin where username = @Username and eventname = @b
group by createddate
HAVING COUNT(createddate) = 2
)
Это тоже не работает, не позволяет вставлять какие-либо другие даты, потому что 29/04 существовало, оно не позволяло входить 30/04.
HAVING COUNT(createddate) = 1
Я хочу отобразить сообщение об ошибке, если пользователь попытается дважды войти в систему 2019/04/29 и разрешить ему включить другие даты.
логика
if (user and createddate doesn't exist)
{
allow clock in
}
else if user and createddate exists)
{
deny clock in, show an error message.
}
else if (user exists but createddate doesn't match any of the dates) -- to allow user to clock in on other days
{
allow clock in
}
Я застрял на том, как это сделать.