| Author |
Topic |
|
janetb
Yak Posting Veteran
71 Posts |
Posted - 2006-04-07 : 15:55:55
|
| Can I do the following? Keep getting an error stopping at the first < of the where clause.declare @mon as int, @yr as int, @myDate as varChar(20) set @yr=2006set @mon=1 set @mydate='01/31/2006 23:59:59' select 0 as DTAP, 0 as DT, 0 as TD, 0 as HIB, 0 as IPV, 0 as MMR, 0 as HEPB, 0 as _VAR, count(v.procedureKey) as FLU, 0 as PPV23, 0 as PCV7, v.chartID, max(rs1.dateService) as dateService from dbo.tbl1 v, (select distinct dateService, chartID, procedureKey from fhc.dbo.tbl1 where (datePart(year,dateService)=@yr and datePart(month,dateService)=@mon) and (procedureKey='90657' or procedureKey='90658')) as rs1 where (v.chartID=rs1.chartID) and (v.procedureKey=rs1.procedureKey) and (case when @mon=1 then dateDiff(month,dateService,@myDate)< 216 when @mon=2 then dateDiff(month,dateService,@myDate)<244 when @mon=3 then dateDiff(month,dateService,@myDate)<275 when @mon=4 then dateDiff(month,dateService,@myDate)<305 when @mon=5 then dateDiff(month,dateService,@myDate)<336 when @mon=6 then dateDiff(month,dateService,@myDate)<366 when @mon=7 then dateDiff(month,dateService,@myDate)<32 when @mon=8 then dateDiff(month,dateService,@myDate)<63 when @mon=9 then dateDiff(month,dateService,@myDate)<93 when @mon=10 then dateDiff(month,dateService,@myDate)<124 when @mon=11 then dateDiff(month,dateService,@myDate)<154 when @mon=12 then dateDiff(month,dateService,@myDate)<185 end) group by v.chartID, rs1.procedureKey |
|
|
blindman
Master Smack Fu Yak Hacker
2365 Posts |
Posted - 2006-04-07 : 16:05:30
|
| [code]DECLARE @mon AS INT, @yr AS INT, @myDate AS VARCHAR(20)SET @yr = 2006SET @mon = 1SET @mydate = '01/31/2006 23:59:59'SELECT 0 AS DTAP, 0 AS DT, 0 AS TD, 0 AS HIB, 0 AS IPV, 0 AS MMR, 0 AS HEPB, 0 AS _VAR, COUNT(V.PROCEDUREKEY) AS FLU, 0 AS PPV23, 0 AS PCV7, V.CHARTID, MAX(RS1.DATESERVICE) AS DATESERVICEFROM DBO.TBL1 V, (SELECT DISTINCT DATESERVICE, CHARTID, PROCEDUREKEY FROM FHC.DBO.TBL1 WHERE (DATEPART(YEAR,DATESERVICE) = @yr AND DATEPART(MONTH,DATESERVICE) = @mon) AND (PROCEDUREKEY = '90657' OR PROCEDUREKEY = '90658')) AS RS1WHERE (V.CHARTID = RS1.CHARTID) AND (V.PROCEDUREKEY = RS1.PROCEDUREKEY) AND DATEDIFF(MONTH,DATESERVICE,@myDate) < (CASE WHEN @mon = 1 THEN 216 WHEN @mon = 2 THEN 244 WHEN @mon = 3 THEN 275 WHEN @mon = 4 THEN 305 WHEN @mon = 5 THEN 336 WHEN @mon = 6 THEN 366 WHEN @mon = 7 THEN 32 WHEN @mon = 8 THEN 63 WHEN @mon = 9 THEN 93 WHEN @mon = 10 THEN 124 WHEN @mon = 11 THEN 154 WHEN @mon = 12 THEN 185 END)GROUP BY V.CHARTID, RS1.PROCEDUREKEY[/code] |
 |
|
|
|
|
|