2017-02-03 7 views
3

私はcakephp 2.0フレームワークを使用しています。私は各カテゴリのレコード数を数えたいと思う。 ここで私は、私はこのクエリを使用してこのデータをフェッチした2つのテーブルグループを使用して各カテゴリのカウントを取得するにはどうすればよいですか?

eve_appointment_icons ->having columns- appointment_icon_id,appointment_icon_type_name 
eve_appointments ->having columns- id, appointment_icon_id 

を持っている: -

$this->EveAppointment->query("SELECT 
        a.appointment_type 
        d.appointment_icon_id, 
        a.appointment_icon_id , 
        d.appointment_icon_type_name, 
       FROM eve_appointments a, 
        eve_appointment_icons d 
       WHERE a.appointment_type =1 
       AND d.appointment_icon_id = a.appointment_icon_id 

      UNION 
       SELECT 
        a.appointment_type 
        d.appointment_icon_id, 
        a.appointment_icon_id , 
        d.appointment_icon_type_name, 

       FROM eve_appointments a, 
        eve_appointment_icons d 
       WHERE a.appointment_type =2 
        AND d.appointment_icon_id = a.appointment_icon_id 
      UNION 
       SELECT 
        a.appointment_type 
        d.appointment_icon_id, 
        a.appointment_icon_id , 
        d.appointment_icon_type_name, 
       FROM eve_appointments a, 
        eve_appointment_icons d 
       WHERE a.appointment_type =3 
        AND d.appointment_icon_id = a.appointment_icon_id"); 

ここで私は、この印刷時:

Array 
(
[0] => Array 
    (
     [appointment_icon_id] => 1 
     [appointment_icon_type_name] => Yoga 
    ) 
[1] => Array 
    (
     [appointment_icon_id] => 1 
     [appointment_icon_type_name] => Yoga 
    ) 

[2] => Array 
    (
     [appointment_icon_id] => 2 
     [appointment_icon_type_name] => Visit 
    ) 
[3] => Array 
    (
     [appointment_icon_id] => 3 
     [appointment_icon_type_name] => Physio Therapy 
    ) 

[4] => Array 
    (
     [appointment_icon_id] => 4 
     [appointment_icon_type_name] => Diagnostic 
    ) 
[5] => Array 
    (
     [appointment_icon_id] => 4 
     [appointment_icon_type_name] => Diagnostic 
    ) 
[6] => Array 
    (
     [appointment_icon_id] => 4 
     [appointment_icon_type_name] => Diagnostic 
    ) 
) 

を今、あなたはヨガを持つ見ることができますappointment_icon_id1、訪問はappointment_icon_id2、その他の場合は逆になります。 私はこれらすべてのカテゴリの数が必要です。 ように:

appointment_icon_type_name count 
Yoga       2 
Visit       1 
Physio Therapy     1 
Diagnostic      3 

答えて

2

必要なのはこれです:

select d.appointment_icon_type_name, count(*) 
FROM eve_appointments a, 
eve_appointment_icons d 
WHERE d.appointment_icon_id = a.appointment_icon_id 
group by d.appointment_icon_type_name 
+0

はあなたに感謝は、その作業を人間あなたは私の一日の男を作るクール:) – kunal

関連する問題