我有以下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中的字段。
有人可以让我知道如何为此编写存储过程。
答案 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