我试图通过with
在 oracle sql 中使用子句来简化选择语句。下面是代码;当我运行它时,首先它会打开一个弹出窗口,上面写着“您的数据库连接已被重置。任何待处理的事务或会话状态都已丢失。”。然后它开始运行,但最后它给出消息“没有更多数据可以从套接字读取”。
我能够成功运行其他查询(也使用 with 子句)。但是,这个不起作用。你能帮我解决问题吗?
提前致谢。
WITH M AS
(
SELECT *
FROM MASTER_REPORT_SOURCE_TABLE
)
,
POL_CUST AS
(
SELECT
BRANCHCODE
,COUNT(POLID) NUMBER_OF_POLICIES
,COUNT(DISTINCT CUST_ID) NUMBER_OF_CUSTOMERS
FROM M
GROUP BY BRANCHCODE
)
,
E AS
(
SELECT
BRANCHCODE
,COUNT(DISTINCT CUST_ID) CUST_EMAIL_EXIST
FROM M
WHERE CUST_EMAIL_EXIST = 1
GROUP BY BRANCHCODE
)
SELECT
POL_CUST.BRANCHCODE
,POL_CUST.NUMBER_OF_POLICIES
,POL_CUST.NUMBER_OF_CUSTOMERS
,E.CUST_EMAIL_EXIST
FROM POL_CUST, E
WHERE POL_CUST.BRANCHCODE = E.BRANCHCODE