1

日付表:

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 が異なる場合は、データを連結します。

4

1 に答える 1