2017-06-16 28 views
0

合計したい2つのSELECT文があります。両方のクエリは正常に動作しますが、合計の出力をSUMにすることはできません。私はこのquestion次試みたが、クエリをラップすることにより、合計にできないselect id, sum(amount) from ()SQLでの和集合の計算値

SELECT "patient_profiles"."id", count(distinct recommendations.id) AS total 
FROM "patient_profiles" 
    LEFT OUTER JOIN 
    "recommendations" ON "recommendations"."patient_profile_id" = "patient_profiles"."id" 
GROUP BY "patient_profiles"."id" 

UNION 

SELECT "patient_profiles"."id", count(distinct patient_profile_potential_doctors.id) AS total 
FROM "patient_profiles" 
    LEFT OUTER JOIN "patient_profile_potential_doctors" ON "patient_profile_potential_doctors"."patient_profile_id" = "patient_profiles"."id"  
GROUP BY "patient_profiles"."id" 
+0

にあなたは「')(から、IDを選択し'でクエリをラップすることによって合計にできない総和(量)」、ないと述べあなたはエラーが発生しますか?あなたは合計権利に変更しますか? – xQbert

答えて

2
Select ID, sum(Total) from 
     (
     SELECT "patient_profiles"."id" [ID], count(distinct recommendations.id) AS total 
     FROM "patient_profiles" 
      LEFT OUTER JOIN 
      "recommendations" ON "recommendations"."patient_profile_id" = "patient_profiles"."id" 
     GROUP BY "patient_profiles"."id" 

     UNION 

     SELECT "patient_profiles"."id" [ID], count(distinct patient_profile_potential_doctors.id) AS total 
     FROM "patient_profiles" 
      LEFT OUTER JOIN "patient_profile_potential_doctors" ON "patient_profile_potential_doctors"."patient_profile_id" = "patient_profiles"."id"  
     GROUP BY "patient_profiles"."id" 
) x 
    group by ID 
+0

postgresql 'ERROR:配列ではないため、整数型を添字できません 'というエラーが表示される – user2954587

関連する問題