Sql server 什么';这个sql查询有什么问题?

Sql server 什么';这个sql查询有什么问题?,sql-server,Sql Server,编译后出现以下错误 UPDATE UserListColumnData set UserListColumnValue = (case when Contains(ProductDetailObjects.InnerText, **ProductDetailObjects**.AdminInnerText) then 'Condition True'Else 'Condition False' End) FROM VariableDataObjectMaping INNER

编译后出现以下错误

UPDATE UserListColumnData 
set  UserListColumnValue = (case when Contains(ProductDetailObjects.InnerText, **ProductDetailObjects**.AdminInnerText) then 
'Condition True'Else 'Condition False' End)
FROM         VariableDataObjectMaping INNER JOIN  
                      UserListColumnData ON VariableDataObjectMaping.UserListColumnID = UserListColumnData.UserListColumnID INNER JOIN                    
                      UserListColumns ON UserListColumnData.UserListColumnID=UserListColumns.UserListColumnID INNER JOIN                       
                      ProductDetailObjects ON VariableDataObjectMaping.ObjectId = ProductDetailObjects.ObjectID INNER JOIN  
                      ProductDetail ON ProductDetailObjects.ProductDetailID = ProductDetail.ProductDetailID INNER JOIN  
                      Products ON ProductDetail.ProductID = Products.ProductID  
WHERE     (Products.ProductID = 275)
但是,当我在contain函数中编写任何字符串时,它的工作方式就像

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'ProductDetailObjects'.
为什么不使用字符串列名(ProductDetailObjects.AdminInnerText???)

可能是这样的:

UPDATE UserListColumnData 
set  UserListColumnValue = (case when Contains(ProductDetailObjects.InnerText, 'aab') then 
'Condition True'Else 'Condition False' End)
FROM         VariableDataObjectMaping INNER JOIN  
                      UserListColumnData ON VariableDataObjectMaping.UserListColumnID = UserListColumnData.UserListColumnID INNER JOIN                    
                      UserListColumns ON UserListColumnData.UserListColumnID=UserListColumns.UserListColumnID INNER JOIN                       
                      ProductDetailObjects ON VariableDataObjectMaping.ObjectId = ProductDetailObjects.ObjectID INNER JOIN  
                      ProductDetail ON ProductDetailObjects.ProductDetailID = ProductDetail.ProductDetailID INNER JOIN  
                      Products ON ProductDetail.ProductID = Products.ProductID  
WHERE     (Products.ProductID = 275) 
在其他之前添加空间

'Condition True'Else 'Condition False' End)
                ^--- missing a space here
编辑:

更新如下:

案例
当ProductDetailObjects.InnerText
类似“%”+ProductDetailObjects.AdminInnerText+“%”
然后“条件为真”
否则“条件为假”
结束

只能在
包含中使用常量作为搜索查询
不能将字段名用作
包含的第二个参数,只能使用文字字符串或变量;它的设计目的是在第一个参数中跨列的所有值查找特定的搜索子句。

为什么表名ProductDetailObjects.AdminInnerText周围有星号?我提到我自己是因为这是查询编译产生错误的地方。这不是空间问题。当我将ProductDetailObject.AdminInnerText替换为某个字符串时,它将工作,否则它将给出一个错误。搜索子句看起来像什么,它们必须是FTS子句吗?
'Condition True'Else