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

如何查询属于P2_04层级的cod_azienda并判断是否同时属于P2_03?

SQL查询实现层级存在性标记需求

可以通过子查询或EXISTS关键字来判断每个cod_azienda是否存在cod_azienda_gerarchia=P2_03的记录,以下是两种实用的实现方式:

方法一:使用EXISTS子查询

SELECT 
    cod_azienda,
    CASE
        WHEN EXISTS (
            SELECT 1 
            FROM 你的表名 t2
            WHERE t2.cod_azienda = t1.cod_azienda 
              AND t2.cod_azienda_gerarchia = 'P2_03'
        ) THEN 'Yes'
        ELSE 'No'
    END AS has_p2_03_record
FROM 你的表名 t1
WHERE t1.cod_azienda_gerarchia = 'P2_04';

方法二:使用GROUP BY和条件聚合

SELECT 
    cod_azienda,
    CASE
        WHEN MAX(CASE WHEN cod_azienda_gerarchia = 'P2_03' THEN 1 ELSE 0 END) = 1 THEN 'Yes'
        ELSE 'No'
    END AS has_p2_03_record
FROM 你的表名
WHERE cod_azienda_gerarchia IN ('P2_04', 'P2_03')
GROUP BY cod_azienda
HAVING MAX(CASE WHEN cod_azienda_gerarchia = 'P2_04' THEN 1 ELSE 0 END) = 1;

说明

  • 方法一逻辑直观,针对每条P2_04层级的记录直接校验对应P2_03记录的存在性,适合中等数据量场景。
  • 方法二通过单次表扫描+分组聚合完成计算,减少了子查询的重复调用,大数据量下性能更优。
  • 记得将代码中的你的表名替换为实际表名称。

内容的提问来源于stack exchange,提问作者Cristina Biagiotti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:52:33