У меня есть таблица mySQL, подобная следующей:
DOC_OwnerID DOC_type DOC_start_date DOC_end_date
100 JANUARY 1/1/2017 12/31/2018
100 JANUARY 1/1/2018 12/31/2019
100 DRIVER 1/5/2018 1/4/2019
100 LICENSE 2/5/2015 2/5/2016
100 LICENSE 4/5/2018 2/5/2019
200 JANUARY 1/2/2017 1/2/2018
200 DRIVER 1/2/2018 1/2/2019
В моей логике приложения мне нужно найти, что любой владелец (DOC_OwnerID) имеет три основных обязательных документа (JANUARY, DRIVER, LICENSE) за данный период времени. Количество 3 необходимо, чтобы показать, что владелец имеет три документа. (Имена документов уникальны для определенного периода времени)
Например: OwnerID = 100, Дата = 4/9/2018
true => 100 JANUARY 1/1/2018 12/31/2019
true => 100 DRIVER 1/5/2018 1/4/2019
true => 100 LICENSE 4/5/2018 2/5/2019
Должен вернуться 3, чтобы показать, что все три документа действительны на указанную дату. Я мог бы использовать COUNT, но как выбрать записи, поскольку DPC_Type не является уникальным.
Но владелец = 200 никогда не будет правдой, поскольку у него не записана ЛИЦЕНЗИЯ.
Я мог бы сделать это в своем приложении, прочитав все записи для владельца. Как я мог сделать это в sql сразу?
Спасибо,
Pubudu