我正在设计一个网站来接受我网站的广告。我的网站将获得有效广告列表(经过验证且有信用的广告)并显示它们。我的广告表有这些验证广告的字段:
- TotalDaysToShow int '广告展示的总天数
- 开始日期日期时间
- 验证位
- LastShowed 日期时间
例如,我想展示 4 个广告 - 使用类似于以下的查询:
SELECT TOP 4 ImageId,
Url
FROM ads
WHERE verified = 1 AND ..........
ORDER BY LastShowed ASC
这里的问题是,如果 TotalDaysToShow 对于所有广告都相同,我可以简单地使用:
declare @d= dateadd(day, @TotalDaysToShow, starttime)
然后像这样使用它:
SELECT TOP 4 ImageId,
Url
FROM ads
WHERE verified = 1
AND @d > Getdate()
ORDER BY LastShowed ASC
是否可以为每个人计算它?
SELECT TOP 4 ImageId,
Url
FROM ads
WHERE verified = 1
AND Dateadd(day, TotalDaysToShow, startdate) > Getdate()
ORDER BY LastShowed ASC
提前致谢