oracle sql语句统计数据写法

有3张表,A表活动,B表活动地区,C表地区商家 A表关联B表,B表关联C表都是一对多,现在需返回活动名称,活动地区数,地区商家数

SELECT A.活动名称,COUNT(1),SUM(SELECT COUNT(1) FROM C WHERE A=B AND B=C) FROM A INNER JOIN B ON A=B GROUP BY A.活动名称

select * from (A,B,C,)

给出A、B、C表的表结构和数据,别人才能帮到你。

SELECT T1.活动 AS 活动名称,
    COUNT(T2.地区) AS 活动地区数,
    T5.商家 AS 地区商家数
FROM A T1
    INNER JOIN B T2 ON T1.活动 = T2.活动
    INNER JOIN (
        SELECT 地区,
            COUNT(T4.商家)
        FROM B T3
            INNER JOIN C T4 ON T3.地区 = T4.地区
        GROUP BY T3.地区
    ) T5 ON T2.地区 = T5.地区
GROUP BY T1.活动
    , T5.商家

地区数,无法对应地区商家数。只能对应活动商家数。