我目前正在这样做:
SELECT SS.service_name , SS.id, SH.shortcode FROM smsc_app_db.service SS
INNER JOIN shortcode SH ON SS.confirmation_shortcode = SH.id;
SELECT count(service_id) FROM smsc_app_db.service_status
where smsc_app_db.service_status.service_id = ?;
运行第一个select之后,我在java中得到结果,然后对于ResultSet的每一行,我使用SS.ID值来 在service_status表上计算该服务的订阅者数量(使用第二个语句)
但我想将两个陈述合并为一个。
是否可以制作
select count(service_id)
第一个选择语句中的一列?
e.g。如果结果
select count(service_id)....
存储在subscriber_base
SELECT SS.service_name , SS.id, SH.shortcode, subscriber_base FROM
smsc_app_db.service SS INNER JOIN shortcode SH ON SS.confirmation_shortcode = SH.id;
答案 0 :(得分:2)
join
将service_status表添加到现有查询并聚合以获取计数。
SELECT SS.service_name, SS.id, SH.shortcode, count(*) subscriber_base
FROM smsc_app_db.service SS
INNER JOIN shortcode SH ON SS.confirmation_shortcode = SH.id
INNER JOIN smsc_app_db.service_status sstat ON sstat.service_id = SS.id
GROUP BY SS.service_name, SS.id, SH.shortcode