SQL 使用 Union All 查询分组依据

SQL query Group by while using Union All

我对 SQL 查询完全陌生,需要帮助将一些 select 语句组合在一起形成一个查询。

我将一次开始一个查询:

select sum(DOCI) 
from    (
        select  POL.SP_NUM, sum(Q.AMT + POL.AMT) DOCI 
        from    S_ASSET POL
        ,       S_QUOTE_ITEM Q 
        where   POL.X_QUOTE_ID  =   Q.ROW_ID 
        and     POL.SP_NUM      in  ('000','111','222')
        group by POL.SP_NUM

        UNION ALL

        select  POL.SP_NUM, sum(QXM.AMT) DOCI 
        from    S_ASSET POL
        ,       S_QUOTE_ITEM Q
        ,       S_QUOTE_ITEM_XM QXM 
        where   POL.X_QUOTE_ID  =   Q.ROW_ID 
        and     Q.ROW_ID        =   QXM.PAR_ROW_ID 
        and     POL.SP_NUM      in  ('000','111','222')
        group by POL.SP_NUM
    )

表格:

S_ASSET
X_QUOTE_ID  POL     AMT
A           000     1
B           111     1
C           222     1

S_QUOTE_ITEM
ROW_ID      AMT
A           10
B           10
C           1

S_QUOTE_ITEM_XM
PAR_ROW_ID  AMT
A           10
B           0

Expected O/P:
POL     AMT(sum)
A       21
B       11
C       2

请帮忙

SELECT sp_num, SUM(doci)
  FROM ( ...subquery... )
  GROUP BY sp_num;

table 名称 pol 只存在于子查询中。外部查询是从子查询的 结果中选择的, 而不是从任何命名的 table.