1.learn about normalisation2.SELECT m.Dated,i.ItemNameFROM (SELECT r.*,b.ValFROM Report rCROSS APPLY dbo.ParseValues(r.itemId)b)mINNER JOIN Item iON i.itemid=m.Val
but this works only in sql 2005. also function parsevalues can be found belowCREATE FUNCTION ParseValues (@String varchar(8000) ) RETURNS @RESULTS TABLE (ID int identity(1,1), Val int ) AS BEGIN DECLARE @Value varchar(100) WHILE @String is not null BEGIN SELECT @Value=CASE WHEN CHARINDEX(',',@String) >0 THEN LEFT(@String,CHARINDEX(',',@String)-1) ELSE @String END, @String=CASE WHEN CHARINDEX(',',@String) >0 THEN SUBSTRING(@String,CHARINDEX(',',@String)+1,LEN(@String)) ELSE NULL END INSERT INTO @RESULTS (Val) SELECT @Value END RETURN END