2016-09-28 138 views
0

先看看这个场景:如何在SQL Server中使用JOIN LIKE和AND运算符?

我有table1与列C1和2个记录在它的值为Text1和Text2。

SELECT * FROM TabelX 
INNER JOIN table1 ON TableX.Name LIKE '%'+table1.C1+'%' 

该代码表示​​:

SELECT * FROM TabelX 
WHERE TableX.Name LIKE '%Text1%' OR TableX.Name LIKE '%Text2%' 

现在,我怎么改变JOIN类似的手段,而不是OR?喜欢的东西:

SELECT * FROM TabelX 
WHERE TableX.Name LIKE '%Text1%' AND TableX.Name LIKE '%Text2%' 
+3

我问过同样的问题,得到了[@lc]答案(http://stackoverflow.com/用户/ 44853/LC)。你可以参考下面的线程。 http://stackoverflow.com/questions/39825906/like-clause-with-and-operator-in-sql-server-2012 –

回答

0

我觉得像这样可以为你工作:

BEGIN 
declare @mycounter integer 
select @mycounter = count (*) from table1 

SELECT * FROM TabelX 
where @mycounter = (select * from table1 where TableX.Name LIKE '%'+table1.C1+'%') 
END