有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.商家
地区数,无法对应地区商家数。只能对应活动商家数。