編集:メタで質問し、私の質問を変更することにしました。新しい追加は太字です。
重複する期間を見つける次のクエリがあります。
SELECT t1.id1, t2.id1
FROM `mytable` AS t1
JOIN `mytable` AS t2
ON (
((t1.start_date BETWEEN t2.start_date AND t2.end_date))
OR ((t1.end_date BETWEEN t2.start_date AND t2.end_date))
)
WHERE t1.id1 < t2.id1;
結果セットは次のとおりです。
id1 id1
6 7
8 9
5 11
10 12
次の結果が必要です。単一の列にすべての値を追加し、行がペアであることを示す列を追加して、後でその結果をここで使用できるようにします。シンプルなはずですが、うまくいきません。
col pair_id
6 1
8 2
5 3
10 4
7 1
9 2
11 3
12 4