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

Oracle查询total_comments统计问题求助:需获取评论总数

嘿,我看你是想查询反馈记录的同时,统计每条反馈对应的评论总数对吧?问题出在你现在的SQL里,外层SELECT引用了total_comments,但你的子查询里根本没定义这个字段,数据库肯定会报「列未找到」的错误。

我给你两种可行的修改方案,你可以根据自己的实际表结构和数据量来选:

方案1:用关联子查询直接计算总数

这种写法比较直观,适合数据量不大的场景:

SELECT 
    customid, 
    dt, 
    customer_name, 
    e_mail, 
    phone, 
    TYPE, 
    message, 
    crm_status_id,
    -- 这里假设评论表是feedback_comments,关联字段是feedback_id对应customid
    (SELECT COUNT(*) FROM feedback_comments fc WHERE fc.feedback_id = customid) AS total_comments
FROM (
    SELECT 
        f.ROWID AS customid, 
        f.dt AS d, 
        To_char(f.dt, 'YYYY-MM-DD HH24:MI:SS') AS dt, 
        f.first_name || ' ' || f.middle_name || ' ' || f.last_name AS customer_name, 
        f.e_mail, 
        f.phone, 
        Decode(f.feedback_type, 'CALLBACK', 'CALLBACK', 'FEEDBACK') AS TYPE, 
        f.feedback_message AS message,
        f.crm_status_id
    FROM your_feedback_table f -- 替换成你的反馈表实际名称
) subquery;

方案2:用LEFT JOIN + GROUP BY统计

如果你的评论数据量比较大,这种方法的性能可能更好,而且能避免重复计数的问题:

SELECT 
    sub.customid, 
    sub.dt, 
    sub.customer_name, 
    sub.e_mail, 
    sub.phone, 
    sub.TYPE, 
    sub.message, 
    sub.crm_status_id,
    COUNT(fc.comment_id) AS total_comments -- 用评论表的主键计数更准确,避免NULL影响
FROM (
    SELECT 
        f.ROWID AS customid, 
        f.dt AS d, 
        To_char(f.dt, 'YYYY-MM-DD HH24:MI:SS') AS dt, 
        f.first_name || ' ' || f.middle_name || ' ' || f.last_name AS customer_name, 
        f.e_mail, 
        f.phone, 
        Decode(f.feedback_type, 'CALLBACK', 'CALLBACK', 'FEEDBACK') AS TYPE, 
        f.feedback_message AS message,
        f.crm_status_id
    FROM your_feedback_table f
) sub
LEFT JOIN feedback_comments fc ON fc.feedback_id = sub.customid -- 关联评论表
GROUP BY 
    sub.customid, 
    sub.dt, 
    sub.customer_name, 
    sub.e_mail, 
    sub.phone, 
    sub.TYPE, 
    sub.message, 
    sub.crm_status_id;

注意要替换代码里的占位符:比如your_feedback_table是你的反馈表名称,feedback_comments是存储评论的表,feedback_id是评论表中关联反馈表的外键字段,comment_id是评论表的主键字段。如果你的关联逻辑不一样,调整WHERE或JOIN条件就行!

内容的提问来源于stack exchange,提问作者Ayxan Amiraslanli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:53:45