У меня есть время начала и время окончания посещения пациента (в таблице посещений). Я хочу назначить визит пользователю (члену бригады больницы)

У меня есть время начала и время окончания посещения пациента (в таблице посещений). Я хочу назначить визит пациента пользователю (члену бригады больницы). Может ли кто-нибудь помочь мне с запросом SQl, чтобы определить, какой конкретный пользователь уже назначен или нет в течение этой даты посещения (время начала и время окончания)?

Мне просто нужна функция SQL, в которой я возвращаю «Уже назначено» или - «бесплатно»

У меня есть такая структура таблицы

таблица встреч => AppointmentId int UserId nvarchar (128)
ClientVisitId int AppointmentDateTime datetime
StartTime datetime
EndTime datetime
Статус int

ClientVisits tabl e => ClientVisitId int VisitDate datetime
ClientId int
StartTime datetime
EndTime datetime
ParentClientVisitId int UserNote nvarchar (MAX)
CreatedOn datetime
NoOfUserRequired int


person Ali    schedule 01.11.2018    source источник
comment
как связаны таблицы посещений и встреч   -  person Sanal Sunny    schedule 01.11.2018
comment
Таблица встреч связана с table.Visits (VisitID). извините, я не добавил этот столбец на снимок экрана таблицы встреч.   -  person Ali    schedule 01.11.2018
comment
Примеры данных лучше всего использовать как DDL + DML. Пожалуйста, отредактируйте свой вопрос, включив его, вашу текущую попытку и желаемые результаты. Для получения дополнительных сведений прочтите это.   -  person Zohar Peled    schedule 01.11.2018
comment
может объяснить значения статуса из таблицы встреч   -  person Sanal Sunny    schedule 01.11.2018


Ответы (1)


Предполагая, что если запись сделана в таблице встреч, это означает, что пользователь назначен, поэтому для того, чтобы пациенты не были назначены пользователю, используйте следующий запрос

SELECT v.VisitId, v.PatientId From Visits v
WHERE NOT EXISTS (SELECT 1 FROM Appointment a WHERE a.VisitId=v.VisitId)
person Sanal Sunny    schedule 01.11.2018
comment
требование состоит в том, чтобы найти, где конкретному пользователю назначен интервал времени этих дат посещения или нет. - person Ali; 01.11.2018
comment
@Ali, как мы узнаем, назначен пользователь или нет - person Sanal Sunny; 01.11.2018
comment
Спасибо за ваше время. В таблице встреч есть столбец для идентификатора пользователя и идентификатора посещения, который, как мне кажется, нам помогает. - person Ali; 01.11.2018
comment
@Ali означает, что если запись сделана в Встрече, это посещение назначено для пользователя. - person Sanal Sunny; 01.11.2018
comment
@Ali, так что, если в Назначении нет записи, значит, не назначено право? - person Sanal Sunny; 01.11.2018
comment
да, если для этого ПОЛЬЗОВАТЕЛЯ нет записи о встрече, это означает, что пользователь не назначен. НО возможно, что пользователь назначен на какое-то другое посещение в другое время или временной интервал. И нам нужно выяснить, что пользователь свободен для предстоящего посещения? - person Ali; 01.11.2018
comment
@Ali, пожалуйста, поделитесь структурой вашей таблицы для пользователей, встреч и посещений - person Sanal Sunny; 01.11.2018