2010-12-01 36 views
1

我有这个表:空行表中添加存储过程

 
ROW_GROUP   COL_GROUP   CLAIM_COUNT  DENIAL_AMOUNT 
NOT MEDIC NEC/PRE-X October 2010 6    591.50 
NOT MEDIC NEC/PRE-X November 2010 8    3154.48 
DUPLICATE    October 2010 39    7921.78 
DUPLICATE    November 2010 35    7484.17 
REGISTRATION   October 2010 56    10622.55 
REGISTRATION   November 2010 67    7820.69 
TIMELY FILING   September 2010 6    239.00 
TIMELY FILING   October 2010 67    8389.25 
TIMELY FILING   November 2010 6    51127.96 

我需要能够到九月(或任何COL_GROUP场)与claim_count和denial_amount零点添加到这个表。 ROW_GROUP和COL_GROUP是动态生成的,所以我不能只更新字段,这必须在存储过程中完成。有人提到外部左连接可能会为我创建这些空值,只是不知道如何。任何的意见都将会有帮助。

有人建议使用此SQL语句从工作同事,但它似乎并没有工作:

select #TREND.ROW_GROUP, DISTINCTTIME.COL_GROUP, #TREND.CLAIM_COUNT, #TREND.DENIAL_AMOUNT from (select distinct #TREND.COL_GROUP from #TREND) 
AS DISTINCTTIME LEFT OUTER JOIN #TREND ON 
DISTINCTTIME.COL_GROUP = #TREND.COL_GROUP 
+1

你能告诉我们你用来插入行的查询吗? – 2010-12-01 22:02:08

回答

0

我需要做的,这是报表生成器并没有观看日期的原因作为实际的日期,并不能使它们趋向。我使用sql函数解决了这个问题。我在这里发布这个任何人处理MDX和不得不处理奇怪的日期。

USE [DMDS] 
GO 
/****** Object: UserDefinedFunction [dbo].[MonthFormat] Script Date: 12/02/2010 14:02:03 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER Function [dbo].[MonthFormat](@date varchar(25)) Returns date as 
    Begin 
     declare @retval as varchar(50) 
     select @retval = case 
      when @date like 'Jan%' then '01/01/' + RIGHT(@Date,4) 
      when @date like 'Feb%' then '02/01/' + RIGHT(@Date,4) 
      when @date like 'March%' then '03/01/' + RIGHT(@Date,4) 
      when @date like 'Apr%' then '04/01/' + RIGHT(@Date,4) 
      when @date like 'May%' then '05/01/' + RIGHT(@Date,4) 
      when @date like 'Jun%' then '06/01/' + RIGHT(@Date,4) 
      when @date like 'Jul%' then '07/01/' + RIGHT(@Date,4) 
      when @date like 'Aug%' then '08/01/' + RIGHT(@Date,4) 
      when @date like 'Sept%' then '09/01/' + RIGHT(@Date,4) 
      when @date like 'Oct%' then '10/01/' + RIGHT(@Date,4) 
      when @date like 'Nov%' then '11/01/' + RIGHT(@Date,4) 
      when @date like 'Dec%' then '12/01/' + RIGHT(@Date,4) 
      End 
    return @retval 
End