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

Oracle中使用LISTAGG合并多SELECT语句查询结果的实现咨询

解决方案

直接将两个查询的结果用UNION ALL合并为一个数据集后,再整体执行LISTAGG聚合即可,写法如下:

SELECT LISTAGG(contract, ',')
    WITHIN GROUP (ORDER BY contract) "CONTRACT_LIST"
FROM (
    -- 取第一个查询的所有符合条件的contract
    SELECT contract
    FROM Site_TAB
    WHERE C_Ecom_Util_API.Is_Web_DC(contract) = 'TRUE'

    UNION ALL

    -- 取第二个查询的所有符合条件的contract
    SELECT contract
    FROM company_site_cfv
    WHERE cf$_site_type_db = 'CENTRAL'
) combined_contracts;

补充说明

  • 如果两个查询结果可能存在重复的contract值,需要去重的话,把UNION ALL替换为UNION即可
  • 当前场景下两个查询无重复结果,使用UNION ALL性能更优,执行后输出结果就是你需要的908,918,901

内容的提问来源于stack exchange,提问作者Shanka Somasiri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:45:04