日付表:
id start_date end_date
1 2013-04-28 2013-04-29
3 2013-04-18 2013-04-25
4 2013-05-22 2013-04-30
5 2013-05-02 2013-04-30
6 2013-04-29 2013-04-30
タイムテーブル:
id start_time end_time
1 11:00 AM 12:00 AM
2 12:00 PM 03:00 PM
アプリ テーブル:
id app_name
1 Test
2 Test1
テーブルのリレーションは関連テーブルに格納されます:
app_id date_id time_id
1 1 1
1 1 2
2 1 2
データベースからデータを取得するために SQL クエリを実行します。
SELECT app.id as id,app.app_name,date.id as date_id ,
date.start_date,date.end_date,time.id as time_id,time.start_time,time.end_time as end_time
FROM related_data
INNER JOIN app ON app.id = app_id
INNER JOIN DATE ON date.id = date_id
INNER JOIN Time ON time.id = time_id
LIMIT 0 , 30
しかし、それは戻ります:
id app_name date_id start_date end_date time_id start_time end_time
1 Test 1 2013-04-28 2013-04-29 1 11:00 AM 12:00 AM
1 Test 1 2013-04-28 2013-04-29 2 12:00 PM 03:00 PM
2 Test1 1 2013-04-28 2013-04-29 2 12:00 PM 03:00 PM
しかし、私はこのようにしたい:
id app_name date_id start_date end_date time_id start_time end_time
1 Test 1 2013-04-28 2013-04-29 1,2 11:00 AM,12:00PM 12:00 AM,03:00PM
2 Test1 1 2013-04-28 2013-04-29 2 12:00 PM 03:00 PM
アプリ ID が同じで、日付 ID または時刻 ID が異なる場合は、データを連結します。