我有两个表Coupon
和Tags
他们有多对多关系现在我想创建一些sql视图满足以下情况
1-需要使用标签计算每个标签中有多少张优惠券(完成)
2-需要获得按热门标签排序的标签列表(热门标签是大多数优惠券的标签)
3-需要计算每个标签在过去7天内创建的所有优惠券
我为第一个条件编写的sql视图是
SQLVIEW
Create VIEW [dbo].[TagsWithCount] AS
SELECT Tag.Id as Id , Tag.Name as TagName ,Tag.description as Description,
COUNT(*) AS CouponCount
FROM Tags AS Tag
inner JOIN couponsTotags c ON c.Tagid = Tag.id
GROUP BY Tag.Name , Tag.Id ,Tag.description
GO
它给了我以下结果
我怎么能得到,其他任何人都可以帮助我,告诉我你是否需要任何其他细节
提前致谢
答案 0 :(得分:1)
Create VIEW [dbo].[TagsWithCount] AS
select * from (SELECT Tag.Id as Id , Tag.Name as TagName ,Tag.description as Description,
case when DATEDIFF(day, CreateDate, systemdate)<=7 then 'Its sevendays old'
else 'its more than 7 days old' end as SevendaysOldStatus,COUNT(*) AS CouponCount
FROM Tags AS Tag
inner JOIN couponsTotags c ON c.Tagid = Tag.id
GROUP BY Tag.Name , Tag.Id ,Tag.description,CreateDate) temp
order by CouponCount desc
GO
验证系统日期未在任何编辑器中尝试过但希望能满足您的要求