You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求实现两张不同表符合条件的统计计数结果并排展示的SQL方案

把两个表的统计结果合并成并排列的解决方案

嘿,我懂你要的效果——就是把两个表各自的统计计数放在同一行展示,对应相同的level2分组对吧?我给你整理了一个能实现这个需求的SQL写法,还考虑了可能存在的分组在其中一个表没数据的情况:

最终可用的SQL代码

SELECT
    -- 取非空的level2id和名称,避免某一边无数据时显示NULL
    COALESCE(t1.level2id, t2.level2id) AS level2id,
    COALESCE(t1.level2name, t2.level2name) AS level2name,
    -- 把空计数转成0,看起来更直观
    ISNULL(t1.Count_OrgHierarchy, 0) AS Count_OrgHierarchy,
    ISNULL(t2.Count_LBETL4969, 0) AS Count_LBETL4969
FROM
    -- 第一个表的统计子查询,给计数列起个专属别名
    (
        SELECT 
            level2id,
            level2name,
            COUNT(*) AS Count_OrgHierarchy
        FROM OrgHierarchy (NOLOCK)
        WHERE 
            Level2name LIKE 'A%' 
            AND contractname = 'MSSP' 
            AND Patient_Status IN (
                'Active (WithClaims)',
                'Deceased/Active (WithClaims)', 
                'Active (NoClaims)',
                'Deceased/Active (NoClaims)'
            )
        GROUP BY level2id, level2name
    ) t1
-- 用FULL JOIN确保所有分组都被展示,不管在哪个表存在
FULL JOIN
    -- 第二个表的统计子查询,同样给计数列起别名
    (
        SELECT 
            level2id,
            level2name,
            COUNT(*) AS Count_LBETL4969
        FROM OrgHierarchy_LBETL4969 (NOLOCK)
        WHERE 
            Level2name LIKE 'A%' 
            AND contractname = 'MSSP' 
            AND Patient_Status IN (
                'Active (WithClaims)',
                'Deceased/Active (WithClaims)', 
                'Active (NoClaims)',
                'Deceased/Active (NoClaims)'
            )
        GROUP BY level2id, level2name
    ) t2
-- 通过level2id和name关联两个子查询的结果
ON t1.level2id = t2.level2id AND t1.level2name = t2.level2name
-- 这里按两个计数的总和降序排,你也可以改成单独按某一列排序
ORDER BY ISNULL(t1.Count_OrgHierarchy, 0) + ISNULL(t2.Count_LBETL4969, 0) DESC;

几点小说明

  • 我保留了你原来用的NOLOCK提示,但要提醒一句:这个提示会允许脏读,要是对数据精度要求极高的场景,得谨慎使用哦。
  • 如果你的level2id本身就是唯一标识分组的(不需要依赖level2name),可以把JOIN条件简化成ON t1.level2id = t2.level2id,这样查询会更高效。
  • 要是你只想看两个表都存在的分组,把FULL JOIN改成INNER JOIN就行。

内容的提问来源于stack exchange,提问作者Andrew Day

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:56:12