選択した期間に含まれるデータを取得するためのSQLクエリが必要です。期間はユーザーがカレンダーから選択する文字列です。
たとえば、ユーザーが期間「2012-07-01」から「2012-07-04 」を選択し、次の表がある場合:
ID || start_date || end_date
1 || 2012-07-02 || 2012-07-04
2 || 2012-07-06 || 2012-08-05
3 || 2012-07-01 || 2012-09-01
4 || 2012-06-25 || 2012-09-01
次のようなSQLクエリを作成する場合:
SELECT ID, start_date, end_date
FROM TABLE
WHERE start_date BETWEEN '2012-07-01' AND '2012-07-04'
これにより、「2012-07-01」から「2012-07-04」までのすべての行が返されます。
ID || start_date || end_date
1 || 2012-07-02 || 2012-07-04
3 || 2012-07-01 || 2012-09-01
ただし、この期間に含まれるすべてのデータが必要なので、結果は次のようになります。
ID || start_date || end_date
1 || 2012-07-02 || 2012-07-04
3 || 2012-07-01 || 2012-09-01
4 || 2012-06-25 || 2012-09-01
ID 4の行も、ユーザーが選択した期間がstart_dateとend_dateの下にあるため、結果になりたいです。