Sql Server查询没有得到欲望结果

时间:2014-01-23 11:56:37

标签: sql-server-2008

我希望显示月份明智和日期明智。我的问题是这个,但我没有得到如何实现这一点。

查询

   select 
     iWorkItemId
   , convert(varchar(20),Progress.dtProgressDate,106) as dtProgressDate
   , vsDescription
   , WPD.rWeightage
   , Progress.ProgressPerc as ProgressPerc
   , Convert(decimal(6,2)
   , ((WPD.rWeightage * Progress.ProgressPerc)/100)) as TotalProgress  
   from tblPkgWorkItems WPD 
   join tblPkgWorkItemsProgress Progress on WPD.iWorkItemId = Progress.iWorkItemsId  
   where iPackage='7' 
   group by iWorkItemId, dtProgressDate,vsDescription,rWeightage,ProgressPerc,progressmonth
   order by progressmonth ASC,dtProgressDate ASC , iWorkItemId ASC

列名:(1)progressmonth(存储月份名称)               (2)dtProgressDate(存储完成日期)

示例:

在我们的表中,我们以这种方式存储记录:

30 Apr 2013
31 Aug 2013
28 Feb 2013
30 Jan 2013

然后我想要显示这样的记录

30 Jan 2014
if some record is inserted in 15 jan 2014 then After 30 jan 2014 then 15 jan 2014 record will show.

28 Feb 2014
30 Apr 2014
30 Aug 2014

首先表示Jan记录将于2月记录然后记录3月记录。

表示所有记录将按月按顺序排列,然后按日期排序。

我的数据是这样返回的:

iWorkItemId dtProgressDate      progressmonth            rWeightage
320          30 Apr 2014                         Apr                       2
321         20 Apr 2014                      Apr                       3
320         10 Feb 2014                      Feb                       4
321         9 Jan 2014                       Jan                       7

我希望记录应该是2014年1月9日,然后是2014年2月10日(按月计算)然后是2014年4月30日之后,然后是2014年4月20日(然后按日期排序)。

iWorkItemId将每月重复获胜。

我的问题是我要展示

首先记录Jan记录,然后是March记录

每当1月份到来时,所有日期都属于1月份的1月份。

首先是JAN月份的更高日期(均值)2014年1月31日,2014年1月30日,2014年1月29日,2014年2月28日,然后是2014年2月27日。

表示第一个记录按月提取,然后记录按日期排序的特定月份

0 个答案:

没有答案