CREATE TABLE ClubEvents
[EventsID] [int] NOT NULL,
[ClubID] [int] NULL,
[ClubName] [nvarchar](100)
[EventCategory] [tinyint] NOT NULL, (说明,只有两个值,0和1)
[Sport] [nvarchar](20)
[EventName] [nvarchar](50) NOT NULL,
[SinHappenTime] [nvarchar](20)
[SinHappenDate] [nvarchar](50)
[ReHappenTimestart] [nvarchar](20) ,
[ReHappentimeend] [nvarchar](20)
[ReHappendatestart] [nvarchar](20)
[ReHappendateend] [nvarchar](20)
)
表结构如上,
现在想在页面上通过传参数ClubID,显示离当天时间最近的尚没有开始的四个events,既包括EventCategory=0的,也也包括EventCategory=1的。
当EventCategory=0时,需要选出EventName、SinHappenTime、SinHappenDate;
当EventCategory=1时,需要选出EventName、ReHappenTimestart、ReHappendatestart。
想用一个存储过程来实现选择,应如何写?请各位高手帮忙!
[EventsID] [int] NOT NULL,
[ClubID] [int] NULL,
[ClubName] [nvarchar](100)
[EventCategory] [tinyint] NOT NULL, (说明,只有两个值,0和1)
[Sport] [nvarchar](20)
[EventName] [nvarchar](50) NOT NULL,
[SinHappenTime] [nvarchar](20)
[SinHappenDate] [nvarchar](50)
[ReHappenTimestart] [nvarchar](20) ,
[ReHappentimeend] [nvarchar](20)
[ReHappendatestart] [nvarchar](20)
[ReHappendateend] [nvarchar](20)
)
表结构如上,
现在想在页面上通过传参数ClubID,显示离当天时间最近的尚没有开始的四个events,既包括EventCategory=0的,也也包括EventCategory=1的。
当EventCategory=0时,需要选出EventName、SinHappenTime、SinHappenDate;
当EventCategory=1时,需要选出EventName、ReHappenTimestart、ReHappendatestart。
想用一个存储过程来实现选择,应如何写?请各位高手帮忙!
select top 4 EventName
,case when EventCategory=0 then SinHappenTime else ReHappenTimestart end strs
,case when EventCategory=0 then SinHappenDate else ReHappendatestartend end strs1
from ClubEvents where ClubID=@ClubID order by SinHappenTime,SinHappenDate
DECLARE @ClubID int
select top 4 EventName
,case when EventCategory=0 then SinHappenTime else ReHappenTimestart end strs
,case when EventCategory=1 then SinHappenDate else ReHappendatestartend end strs1
from ClubEvents where ClubID=@ClubID order by SinHappenTime,SinHappenDate