0

以下に基づいてレコードを選択するためのクエリを作成しようとしています:

  1. それらは特定のカテゴリに属している必要があります
  2. 開始日と終了日の間にある必要があります。

    次のような記録があります。

    EventId| EventName| Event_Category| Event_StartDate| Event_EndDate|
       1   |  aaa     |     4         |  2014-06-10    |  2014-06-15  |
       2   |  bbb     |     5         |  2014-06-10    |  2014-06-15  |
       3   |  ccc     |     6         |  2014-06-10    |  2014-07-11  |
       4   |  ddd     |     5         |  2014-06-01    |  2014-07-10  |
       5   |  eee     |     5         |  2014-06-10    |  2014-06-014 |
    

    ストアド プロシージャ:

    create proc usp_filterevnts @Categoryid int, @StartDate date, @EndDate date
    as
    begin 
    select * from Events Where Event_Category=@Categoryid  and ( Event_Startdate>@StartDate and Event_Enddate<@EndDate )
    end
    

    spを次のように実行すると

      exec usp_filterevnts 5,'2014-06-09','2014-06-16' 
    

    開始日と終了日が「2014-06-09」から「2014-06-16」までのカテゴリ 5 番目のレコードのレコードを表示する必要があります。つまり、2 番目のレコード、5 番目のレコードです。

    私のストアドプロシージャはこれに対して正しいですか??

4

2 に答える 2

0
select * from Events Where Event_Category=@Categoryid and (Event_Startdate between @StartDate and @EndDate) and (Event_Enddate between @StartDate and @EndDate)
于 2014-06-30T13:22:18.250 に答える