SQL - 如何从多个表中计数并将它们一起添加

时间:2015-07-23 16:33:41

标签: sql sql-server reporting-services count

我正在尝试从多个表中进行计数,但每个表中可能有多个条目。这里简化了简单的样本数据。实际上有超过3个表,但我才明白如何做到这一点

table2      table2          table3
person_ID   person_id       person_id
1                  1        2
2                  1        2
3                  2        1
4                  2        4
5                  4        5

我正在尝试计算每个表中每个人ID的计数,因此输出将如下。请注意,personID是一个键,我不需要添加ID不是2 + 2 + 2 + 2的ID号。但是,它在所有表格中出现的次数的计数,然后每个表格中的计数加在一起,表示它的总出现次数。基本上我试图找到附加到每个personID的项目总数

person_id    total
1             4
2             4
3             1
4             3    
5             2

1 个答案:

答案 0 :(得分:3)

union中选择所有表格中的ID。该结果可以按ID分组并计算每个

select person_id, count(*) as count
from
(
    select person_id from table1
    union all
    select person_id from table2
    union all
    select person_id from table3 
) tmp
group by person_id