2017-06-13 32 views
0

我有这个查询是在最后')'抛出一个编译错误。 intellisense说'预期的AS,ID或QUOTED_ID'。工会更新计数

我想要做的是 - 从表选择和函数选择的联合中找到不同的值,然后获取计数并使用该值更新另一个表的列。

UPDATE #referees 
SET [TotalKeywordCount] = (select count(*) 
          from (select Keyword 
           from [dbo].[RefereeFinderPersonKeyWord] P 
           where P.p_id=#referees.p_id 

           union 

           SELECT ltrim(rtrim(replace(Data, '''', ''))) 
           from [SplitOne] (@keywords, ','))) 

任何想法我做错了什么?

回答

1

您需要向查询的FROM中为[TotalKeywordCount]提取值使用的嵌套查询添加一个名称。下面你有一个分配给它的名字子查询代码:

UPDATE #referees 
SET [TotalKeywordCount] = (select count(*) from (
     select Keyword from [dbo].[RefereeFinderPersonKeyWord] P where P.p_id=#referees.p_id 
     union 
     SELECT ltrim(rtrim(replace(Data, '''', ''))) from [SplitOne] (@keywords, ',')) subquery) 
+0

谢谢。这工作很好。 –