1

私は2つのテーブルCouponTags持っていて、それらには多対多の関係があります。次の状況を満たすいくつかの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

そしてそれは私に次の結果を与えます

ここに画像の説明を入力してください

どのように私は得ることができますか、残りのものは誰でも私を助けることができます、あなたが他の詳細が必要かどうか教えてください

前もって感謝します

4

1 に答える 1

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

システムの日付がどのエディターでも試されていないことを確認しますが、要件に合っていることを願っています

于 2012-11-13T07:09:53.200 に答える