SQL:选择一个独立于where子句

时间:2015-08-19 08:33:59

标签: sql-server

SELECT TOP 1000 p.Title,p.Distributor, SUM(r.SalesVolume) AS VolumeOfSales,
  CAST(SUM(r.CustomerPrice*r.SalesVolume) as decimal (18,0)) AS ValueOfSales,
  CAST (AVG(r.CustomerPrice) as decimal (18,1)) AS AvgPrice,
  p.MS_ContentType AS category ,Min(c.WeekId) AS ReleaseWeek
  from Product p
  INNER JOIN RawData r
    ON p.ProductId = r.ProductId
  INNER JOIN Calendar c
    ON r.DayId = c.DayId
  WHERE c.WeekId BETWEEN ('20145231') AND ('20145252')
    AND p.Distributor IN ('WARNER', 'TF1', 'GAUMONT')
    AND p.VODEST IN ('VOD', 'EST')
    AND p.ContentFlavor IN ('SD', 'HD', 'NC')
    AND p.MS_ExternalID1 IN ('ADVENTURE/ACTION', 'ANIMATION/FAMILY', 'COMEDY')
    AND p.MS_ContentType IN ('FILM', 'TV', 'OTHERS')
    AND r.CountryId = 1
  GROUP BY p.Title,p.Distributor,p.MS_ContentType 
  ORDER BY VolumeOfSales DESC, ValueOfSales DESC

我想疯狂上述查询,以便只有列ReleaseWeek独立于where子句WHERE c.WeekId BETWEEN ('20145231') AND ('20145252')

I dervive的结果如下:

`Title     Distributor  VolumeOfSales   ValueOfSales    AvgPrice    category    ReleaseWeek

Divergente  M6SND         94038           450095         4.0          Film      20145233`

但我真正想要的是ReleaseWeek是数据库中与c.WeekId对应的列Title中的第一个值,而不是('20145231') AND ('20145252')之间的第一个值修改它的最佳方法是什么?任何线索都会很棒。

0 个答案:

没有答案