SQL Sever 데이터베이스를 사용하고 있는데, 각 옵션의 RecordDate를 선택하는 쿼리를 작성하고 있습니다. 설문 시작 날짜와 종료 날짜에 기록이 있습니다. 같은 옵션이 시작과 날짜 사이에 두 번 이상 발견되면 한 번만 고려해야합니다.Sql이 날짜를 사용하여 계산
tblOptions
----------------------------------
Option, RecardDate
----------------------------------
o1 , 2016-01-01
o1 , 2016-01-03
o1 , 2016-05-08
o2 , 2016-01-04
o2 , 2016-01-01
o2 , 2016-01-23
o2 , 2016-05-15
o3 , 2016-05-01
o3 , 2016-05-02
o3 , 2016-05-03
o3 , 2016-04-04
o3 , 2016-08-04
tblSurveys
----------------------------------
Surey, StartDate, EndDate
----------------------------------
s1 , 2016-01-01 , 2016-01-15
s2 , 2016-01-16 , 2016-01-31
s3 , 2016-05-01 , 2016-05-31
OUTPUT은
Option, Count
-------------------
o1, 2 (Exp.:o1's recorddates found between two surveys star and end dates)
o2, 3 (Exp.:o2's recorddates found between three surveys star and end dates)
o3, 1 (Exp.:o3's recorddates found between one surveys star and end dates)
설문 조사 샘플 데이터가 잘못되었다고 생각합니다. 's3' 설문 2 건, 2 차 설문의 '종료일'은'시작일 '이전입니다. – iamdave
또한 'OUTPUT'에는 오류가 포함되어 있습니다. 두 번째 설문 조사에서'EndDate '를 수정하더라도'o2 '옵션이 3 가지 설문 조사의'StartDate '및'EndDate '내에 실제로 나타나지 않으므로 오류가 있습니다. – iamdave