我有两张桌子
raw_commits(sha,date,author)
和
milestones(name,start,end)
其中
milestones
表包含项目所有里程碑的时间戳范围。我不确定如何进行
JOIN
以实现以下目标:对于每个
raw_commits
,如果它有一个里程碑,则显示raw_commits.sha, raw_commits.date, raw_commits.author, milestones.name
,如果它不“属于”一个里程碑,则显示NULL
,如果提交“属于”多个milestones
,则显示每个里程碑的重复行。显然,使用
milestones
作为参考,即raw_commits.date
可以将其分类为raw_commits.date >= milestones.start AND raw_commits.date <= milestones.end
。如何实现所描述的行为?
最佳答案
SELECT
raw_commits.sha,
raw_commits.author
raw_commits.date,
milestones.name
FROM
raw_commits
LEFT OUTER JOIN
milestones
ON
raw_commits.date BETWEEN milestones.start AND milestones.end
关于mysql - 加入时间戳范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12435279/