• The performance of Chris' solution is fantastic.

    If we use his setup script, we can use the following code to perform the update:

    IF OBJECT_ID('tempdb..#t2') IS NOT NULL drop table #t2

    SELECT DISTINCT ID

    INTO #t2

    FROM #Table1 a

    CROSS APPLY dbo.DelimitedSplit8K(a.Field1, ' ') split

    WHERE EXISTS (SELECT 1 FROM #Lookup b WHERE b.LookDesc = split.Item)

    UPDATE #Table1

    SET Field2 = 'Yes'

    WHERE ID in (

    select ID from #t2

    )

    This code executes in less than 100ms on my machine. I expect similar results for the real data. Not bad to go from 45 minutes to sub-second performance!

    Well done!

    /SG