1

イベントのリストがあるので、各イベントの開始日から終了日まで、各イベントにはイベントの開始日から終了日までのスケジュールのリストがあります。最初の最も近い日付のみを取得する必要があります。つまり、最初のイベントスケジュール日です。

これが私のコードです

SELECT
  s.schedule_id, s.schedule_start_time, s.schedule_end_time, s.schedule_topic, s.Parallel,
  c.speaker_name
FROM schedule_table AS s, speaker_profile_table AS c
WHERE
  s.event_id='23'
  OR s.schedule_date LIKE '%2012-06-07%'
  AND c.speaker_id = s.speaker_id
ORDER BY s.schedule_start_time ASC

ここで、このようなすべてのスケジュールを取得します

スケジュール1:2012-06-06、スケジュール2:2012-06-06、スケジュール3:2012-06-08

ここでは、Schedule1 と Schedule2 のみが必要です。Schedule3 は必要ありません。どうすればこれを入手できますか?

前もってありがとう

4

1 に答える 1

0

私があなたが正しく欲しいものを理解しているなら、これは仕事をするはずです(編集済み):

SELECT
  s.schedule_id, s.schedule_start_time, s.schedule_end_time, s.schedule_topic, s.Parallel,
  c.speaker_name
FROM schedule_table s
LEFT JOIN speaker_profile_table c ON c.speaker_id = s.speaker_id
WHERE s.schedule_date = (
  SELECT schedule_date
  FROM schedule_table
  WHERE
    event_id = '23'
    OR schedule_date LIKE '%2012-06-07%'
  ORDER BY schedule_date ASC
  LIMIT 1
)
ORDER BY s.schedule_start_time ASC
于 2012-05-15T11:41:27.247 に答える