我如何组合这些mysql语句

时间:2016-05-28 03:28:36

标签: java mysql sql resultset

我目前正在这样做:

    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;

1 个答案:

答案 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