CREATE PROC [dbo].[spGetBattleTimeRewardDescription]
-- ALTER PROC dbo.spGetBattleTimeRewardDescription
AS BEGIN
SET NOCOUNT ON;
SELECT BR.BRID, BR.[Name], T1.BRTID, BR.RewardMinutePeriod, BR.RewardCount, BR.RewardKillCount, BR.ResetDesc
FROM dbo.BattleTimeRewardDescription BR(NOLOCK)
JOIN
(
SELECT BRID, MAX(BRTID) AS BRTID
FROM dbo.BattleTimeRewardTerm(NOLOCK)
WHERE ClosedDate IS NULL
GROUP BY BRID
) T1
ON T1.BRID = BR.BRID
WHERE GETDATE() BETWEEN BR.StartDate AND BR.EndDate
AND DATEPART(hh, GETDATE()) BETWEEN BR.StartHour AND BR.EndHour
AND BR.IsOpen = 1
ORDER BY BR.BRID
END
GO
CREATE PROCEDURE [dbo].[spGetSurvivalGroupRanking]
AS BEGIN
SET NOCOUNT ON;
SELECT t.SID, t.CID, c.Name, t.Ranking, t.RP
FROM
(
SELECT s.SID, s.CID, s.RP, r.Ranking
FROM SurvivalCharacterInfo s WITH (NOLOCK), SurvivalRanking r WITH (NOLOCK)
WHERE s.RankRP = r.RP
AND s.SID = r.SID
AND r.Ranking <= 10
AND r.SID IN (1, 2, 3)
) AS t, Character c WITH (NOLOCK)
WHERE t.CID = c.CID
ORDER BY SID, Ranking
END
GO
CREATE TABLE [dbo].[BattleTimeRewardDescription](
[BRID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](128) NULL,
[StartDate] [datetime] NOT NULL,
[EndDate] [datetime] NOT NULL,
[StartHour] [tinyint] NULL,
[EndHour] [tinyint] NULL,
[RewardMinutePeriod] [int] NOT NULL,
[RewardCount] [tinyint] NOT NULL,
[RewardKillCount] [tinyint] NOT NULL,
[ResetCode] [char](7) NOT NULL,
[ResetDesc] [varchar](128) NULL,
[IsOpen] [tinyint] NULL,
CONSTRAINT [PK_BattleTimeRewardDescription] PRIMARY KEY CLUSTERED
(
[BRID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[BattleTimeRewardTerm](
[BRID] [int] NOT NULL,
[BRTID] [int] IDENTITY(1,1) NOT NULL,
[LastResetDate] [datetime] NOT NULL,
[ClosedDate] [datetime] NULL,
CONSTRAINT [PK_BattleTimeRewardTerm] PRIMARY KEY CLUSTERED
(
[BRID] ASC,
[BRTID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE PROC [dbo].[spGetBattleTimeRewardItemList]
-- ALTER PROC dbo.spGetBattleTimeRewardItemList
AS BEGIN
SET NOCOUNT ON;
WITH T1 AS
(
SELECT BRI.BRID
FROM BattleTimeRewardItemList BRI(NOLOCK)
GROUP BY BRI.BRID HAVING SUM(BRI.RatePerThousand) = 1000
),
T2 AS
(
SELECT BRI.BRID, BRI.BRIID, BRI.ItemIDMale, BRI.ItemIDFemale, BRI.ItemCnt, BRI.RentHourPeriod, BRI.RatePerThousand
FROM dbo.BattleTimeRewardDescription BR(NOLOCK)
JOIN dbo.BattleTimeRewardItemList BRI(NOLOCK)
ON BR.BRID = BRI.BRID
WHERE GETDATE() BETWEEN BR.StartDate AND BR.EndDate
AND DATEPART(hh, GETDATE()) BETWEEN BR.StartHour AND BR.EndHour
AND BR.IsOpen = 1
)
SELECT T2.BRID, T2.BRIID, T2.ItemIDMale, T2.ItemIDFemale, T2.ItemCnt, T2.RentHourPeriod, T2.RatePerThousand
FROM T1 JOIN T2 ON T1.BRID = T2.BRID
ORDER BY T2.BRIID
END
GO
CREATE TABLE [dbo].[BattleTimeRewardItemList](
[BRIID] [int] IDENTITY(1,1) NOT NULL,
[BRID] [int] NOT NULL,
[ItemIDMale] [int] NOT NULL,
[ItemIDFemale] [int] NOT NULL,
[RentHourPeriod] [int] NULL,
[ItemCnt] [int] NULL,
[RatePerThousand] [int] NOT NULL,
CONSTRAINT [PK_BattleTimeRewardItemList] PRIMARY KEY CLUSTERED
(
[BRIID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO