从子查询中检索数据时使用该数据源并在上面的另一个子查询中使用该数据源时出错

时间:2016-09-19 09:20:22

标签: postgresql postgresql-9.3

select id,proc_name,p_date,p_no,p_count
from (
       (Select id,proc_name,p_date,p_no from aa) x 
          join
       (select id,count(p_no) p_count from aa group by mrn) y 
          on x.id=y.id 
     ) a 
FROM (select id,proc_name,p_date,p_no from zz) aa  

将错误代码42601放在FROM的位置(大写)。

1 个答案:

答案 0 :(得分:0)

SELECT语句只能有一个FROM子句。

您应该FROM表格,而不是使用多个JOIN子句。

SELECT中不需要两个aa,您可以使用window functions使用SELECT进行SELECT id, proc_name, p_date, p_no, count(p_no) OVER (PARTITION BY mrn) p_count FROM aa;

aa

您没有告诉您要加入哪些列zzSELECT a.id, a.proc_name, a.p_date, a.p_no, a.p_count FROM (SELECT id, proc_name, p_date, p_no, count(p_no) OVER (PARTITION BY mrn) p_count FROM aa) a JOIN zz ON <join condition for a and zz>; ,但您的陈述可能如下所示:

<f:form.hidden name="search[extResume]" value="1" />