Oracle 加入CTE时出错
我有2个CTE。当我尝试加入他们时,我会收到一条错误消息“ORA-01789:”。我如何合并2个CTE。是否有其他方法来获得所需的结果Oracle 加入CTE时出错,oracle,join,Oracle,Join,我有2个CTE。当我尝试加入他们时,我会收到一条错误消息“ORA-01789:”。我如何合并2个CTE。是否有其他方法来获得所需的结果 WITH IMPORT_CTE AS ((select A.* FROM IMPORT_REGISTRY_ERROR_LOG_1 A INNER JOIN (select distinct POD_ID,CONFLICTED_POD_ID,ERROR_CODE FROM IMPORT_REGISTRY_ERROR_LOG_1
WITH IMPORT_CTE
AS ((select A.*
FROM IMPORT_REGISTRY_ERROR_LOG_1 A
INNER JOIN (select distinct POD_ID,CONFLICTED_POD_ID,ERROR_CODE
FROM IMPORT_REGISTRY_ERROR_LOG_1
GROUP BY POD_ID,CONFLICTED_POD_ID,ERROR_CODE
HAVING COUNT(*) > 1) B
on A.POD_ID = B.POD_ID AND A.CONFLICTED_POD_ID = B.CONFLICTED_POD_ID AND A.ERROR_CODE = B.ERROR_CODE ) order by a.pod_id desc)
select t1.*
from IMPORT_CTE t1
where t1.insert_date =(select max(t2.insert_date)
from IMPORT_CTE t2
where t2.POD_ID =t1.POD_ID)
WITH IMPORT_CTE1
AS ((select A.*
FROM IMPORT_REGISTRY_ERROR_LOG_1 A
INNER JOIN (select distinct POD_ID,CONFLICTED_POD_ID,ERROR_CODE
FROM IMPORT_REGISTRY_ERROR_LOG_1
GROUP BY POD_ID,CONFLICTED_POD_ID,ERROR_CODE
HAVING COUNT(*) > 1) B
on A.POD_ID = B.POD_ID AND A.CONFLICTED_POD_ID = B.CONFLICTED_POD_ID AND A.ERROR_CODE = B.ERROR_CODE ) order by a.pod_id desc)
select t1.insert_date
from IMPORT_CTE1 t1
where t1.insert_date =(select min(t2.insert_date)
from IMPORT_CTE1 t2
where t2.POD_ID =t1.POD_ID)
在每个查询中都有一组额外的括号。第一个显然应该是:
WITH IMPORT_CTE AS
(select A.*
FROM IMPORT_REGISTRY_ERROR_LOG_1 A
INNER JOIN (select distinct POD_ID,CONFLICTED_POD_ID,ERROR_CODE
FROM IMPORT_REGISTRY_ERROR_LOG_1
GROUP BY POD_ID,CONFLICTED_POD_ID,ERROR_CODE
HAVING COUNT(*) > 1) B
on A.POD_ID = B.POD_ID AND
A.CONFLICTED_POD_ID = B.CONFLICTED_POD_ID AND
A.ERROR_CODE = B.ERROR_CODE
order by a.pod_id desc)
select t1.*
from IMPORT_CTE t1
where t1.insert_date = (select max(t2.insert_date)
from IMPORT_CTE t2
where t2.POD_ID = t1.POD_ID)
第二个也有类似的问题
祝你好运。你忘了告诉你想要的结果你要加入他们吗?@Prdp想要的结果是加入两个查询。但是我不能使用union加入,因为在两个查询中提取的列数都是有限的different@AlexPoole我试着使用union all加入,但它不起作用,因为我能看到CTE是一样的,所以你想要一个针对CTE的单一查询,这是你现在拥有的两个联合体-那么你得到了最小和最大日期?关于列数的错误似乎很明显。你为什么要和一个工会合作?