2016-05-28 6 views
1

私は現在、このやっている方法を組み合わせてください:最初の選択を実行した後私はこれらのmysqlの文が

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 = ?; 

を、私は、その後のResultSetの行ごとに、私はSS.IDを使用し、Javaで結果を得ます値 は、service_statusテーブル(2番目のステートメントを使用)でそのサービスのサブスクライバ数をカウントします。

ただし、2つのステートメントを1つにまとめたいと思います。

それは select count(service_id)

最初のselect文で列を作ることは可能ですか?

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; 

答えて

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 
+0

偉大な答え。 ON sstat.service_id = ss.idをON sstat.service_id = SS.idに変更してください。これを正解にしていただきありがとうございます!!! – gbenroscience

+0

私はそれが何か違いがあるとは思わない。 –

+0

私はそれをテストしたので、それをしてください、それは、なぜ私はそれを変更するように頼んだのです。私はCentOSでMariaDbを使用しており、信頼しています。 – gbenroscience

関連する問題