更新联合计数

时间:2017-06-13 08:04:01

标签: sql sql-server count union

我有这个查询,它在最后一次'中抛出了一个编译错误。 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 个答案:

答案 0 :(得分: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 )