It's funny how it'll do an implicit conversion in the predicate, but not in the SELECTUSE NorthwindGOSET NOCOUNT ONCREATE TABLE YearMonth([Year] char(4), [Month] char(2))CREATE TABLE myTable99([Date] datetime, Value varchar(10))GOINSERT INTO YearMonth([Year],[Month])SELECT '2004', '1' UNION ALLSELECT '2004', '2' UNION ALLSELECT '2004', '3' UNION ALLSELECT '2004', '4' UNION ALLSELECT '2004', '5' UNION ALLSELECT '2004', '6' UNION ALLSELECT '2004', '7' UNION ALLSELECT '2004', '8' UNION ALLSELECT '2004', '9' UNION ALLSELECT '2004', '10' UNION ALLSELECT '2004', '11' UNION ALLSELECT '2004', '12' UNION ALLSELECT '2005', '1' UNION ALLSELECT '2005', '2' UNION ALLSELECT '2005', '3' UNION ALLSELECT '2005', '4' UNION ALLSELECT '2005', '5' UNION ALLSELECT '2005', '6' UNION ALLSELECT '2005', '7' UNION ALLSELECT '2005', '8' UNION ALLSELECT '2005', '9' UNION ALLSELECT '2005', '10' UNION ALLSELECT '2005', '11' UNION ALLSELECT '2005', '12'GOINSERT INTO myTable99([Date], Value)SELECT '2004/02/28', 'A001' UNION ALLSELECT '2004/06/30', 'A006' UNION ALLSELECT '2005/03/31', 'A005' UNION ALLSELECT '2005/11/13', 'A004' UNION ALLSELECT '2005/05/23', 'A009'GO SELECT COALESCE(b.[Date],CONVERT(datetime,[Month]+'/01/'+[Year])), b.Value FROM YearMonth a LEFT JOIN myTable99 b ON a.[Year] = YEAR([Date]) AND a.[Month] = MONTH([Date]) GOSET NOCOUNT OFFDROP TABLE myTable99, YearMonthGO
Brett8-)Hint: Want your questions answered fast? Follow the direction in this linkhttp://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx