我有两个sql表site和sms
结构很像
SENEGAL_SITE:
siteID Lon Lat
1 11.232 12.32
2 12.232 12.42
3 11.232 12.62
4 11.232 11.42
ATA_SMS_Apr:
out_going_site_id inSite no_sms
4 1 65
2 4 21
3 4 54
我想查询一个像这样的结果
site id SMS_Site_count
1 5
2 3
3 1
所以基本上我想计算通过每个站点塔的短信数量
我以前用来做这个的查询是
select * ,
count((select *
from ATA_SMS_Apr a
where s.site_id=a.out_going_site_id))
from SENEGAL_SITE s
这样做我收到Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
答案 0 :(得分:1)
您需要一个相关的子查询来获取每个站点ID的ATA_SMS_Apr表的sms计数
计数从外部移动到子查询中。
select * ,
(select count(*)
from ATA_SMS_Apr a
where s.site_id=a.out_going_site_id) as SMS_Site_Count
from SENEGAL_SITE s