1

私は2つのテーブルを持っています

raw_commits(sha,date,author)

milestones(name,start,end)

milestonesテーブルには、プロジェクトのすべてのマイルストーンのタイムスタンプ範囲が含まれています。

JOIN次のことを達成するためにどうすればよいかわかりません。

それぞれについて、マイルストーンが 1 つraw_commitsある場合は を表示し、マイルストーンに「属していない」場合は表示し、コミットが複数の に「属している」場合は各マイルストーンの重複行を表示します。raw_commits.sha, raw_commits.date, raw_commits.author, milestones.nameNULLmilestones

への分類は、 を参照としてmilestones使用することによって明らかに行われます。raw_commits.dateraw_commits.date >= milestones.start AND raw_commits.date <= milestones.end

説明されている動作を実現する方法は?

4

1 に答える 1

2
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
于 2012-09-15T07:06:55.377 に答える