存储过程以更新计数

时间:2016-12-03 00:00:19

标签: c# mysql sql-server stored-procedures

我有以下2个SQL表

Table 1
Id | Data | Values
1  | rfsd | 23
2  | tfgy | 45
3  | rfff | 23


Table 2

Id | Fields | Counts
1  | 23     |   0 
2  | 45     |   0

正如您所看到的,Counts字段为0.我想看看' Fields'表2中的列,然后与'值'进行比较。表1中的列,只要值出现在'值'中,就会增加计数。字段。

最终结果应该像这样显示

Table 2
Id | Fields | Counts
1  | 23     |   2
2  | 45     |   1

这将是计数,因为23出现两次,45出现在'值'表1中的字段。

有人可以让我知道如何为此编写存储过程。

1 个答案:

答案 0 :(得分:1)

将其放入存储过程中。

WITH t1 AS (
SELECT
    VALUES
    , COUNT(*) AS Count2
FROM
    Table1
GROUP BY
    VALUES
)
UPDATE t2
SET Counts = t1.Count2
FROM
    Table2 t2
    JOIN t1 ON t2.Fields=t1.Values