Sql 如何在两列的日期之间选择日期?
此选项不起作用:Sql 如何在两列的日期之间选择日期?,sql,Sql,此选项不起作用: SELECT collaborators.fullname, learnings.state_id, orgs.name AS orgs_name, courses.name AS courses_name FROM learnings LEFT JOIN collaborators ON learnings.person_id = collaborators.id LEFT JOIN orgs ON collaborators.org_id = orgs.id LEFT JO
SELECT collaborators.fullname, learnings.state_id, orgs.name AS orgs_name, courses.name AS courses_name
FROM learnings
LEFT JOIN collaborators ON learnings.person_id = collaborators.id
LEFT JOIN orgs ON collaborators.org_id = orgs.id
LEFT JOIN courses ON learnings.course_id = courses.id
WHERE collaborators.org_id = :org_id
AND learnings.start_date BETWEEN :date1 AND :date2
AND learnings.finish_date BETWEEN :date1 AND :date2
如果您在请求中留下以下内容之一:
AND learnings.start_date BETWEEN :date1 AND :date2
或
然后,选择工作。
请告诉我:
如何组合此查询中的两列
start\u date
和finish\u date
,并将它们筛选为一列?如果您希望两个时间段之间有任何重叠,则可以使用:
AND
learnings.start_date <= :date2 AND
learnings.finish_date >= :date1
请解释“不工作”。样本数据、预期结果和逻辑的清晰解释将有所帮助。
AND
learnings.start_date <= :date2 AND
learnings.finish_date >= :date1
AND
learnings.start_date >= :date1 AND
learnings.finish_date <= :date2