4

ここに画像の説明を入力

ここに私のSQLクエリがあります

select e.event_name,
    min(dt.start_date) as start_date,
    min(dt.start_date)||'-'||max(dt.end_date) as FromTo
from event e join
    date_table dt
on e.e_id = dt.e_id
group by e.event_name;

今後のイベントを取得したい。そのために、私は MAX(dt.end_date)>=sysdate次のイベントを取得しました。しかし、私の問題は、イベントが今日、明日、明後日に発生すると、開始日を「今日」(最小開始日) として表示することです。しかし、明日になると、開始日を前の日付として表示しました。最低開始日は昨日だからです。明日の日付を開始日として表示したい。

コードを変更するにはどうすればよいですか?

4

2 に答える 2

1

where句を追加するだけです。

select e.event_name,
    min(dt.start_date) as start_date,
    min(dt.start_date)||'-'||max(dt.end_date) as FromTo
from event e join
    date_table dt
on e.e_id = dt.e_id
where dt.start_date >=sysdate
group by e.event_name;
于 2013-09-10T06:08:59.050 に答える