>DECLARE @MyTable TABLE (Id int, Searched varchar(200)) >DECLARE @Keys TABLE (Word varchar(200), Id int) > >INSERT INTO @MyTable VALUES (1,'Mother Father Daughter Son') >INSERT INTO @MyTable VALUES (2,'Mother Daughter Son') >INSERT INTO @MyTable VALUES (3,'Mother Son') >INSERT INTO @MyTable VALUES (4,'Daughter Son') >INSERT INTO @MyTable VALUES (5,'Mother Father Son') >INSERT INTO @MyTable VALUES (6,'Son Daughter Father') >INSERT INTO @MyTable VALUES (7,'Mother Son') >INSERT INTO @MyTable VALUES (8,'Other Word') > > >INSERT INTO @Keys VALUES ('Mother',1) >INSERT INTO @Keys VALUES ('Father',2) >INSERT INTO @Keys VALUES ('Son',3) >INSERT INTO @Keys VALUES ('Daughter',4) > >DECLARE @nAllWords int >SELECT @nAllWords = COUNT(*) FROM @Keys > >SELECT MyTable.* >FROM @MyTable MyTable >INNER JOIN (SELECT MyTable.Id > FROM @MyTable MyTable > INNER JOIN @Keys KeyWords ON MyTable.Searched LIKE '%'+KeyWords.Word +'%' > GROUP BY MyTable.Id > HAVING COUNT(*) = @nAllWords) Tbl1 ON MyTable.Id = Tbl1.Id >>