2017-06-16 104 views
0

我有两个SELECT语句,我想总结一下。两个查询都可以正常工作,但是我无法总和总输出。我想下面这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得到以下错误'错误:无法下标类型整数,因为它不是一个数组' – user2954587