SQL 在不添加新列的情况下在 SUM 查询中创建视图或过程?

SQL Create view or procedure in a SUM query without adding new column?

假设我在 table_name_a 中有一些样本数据如下:

    code    val    remark   date
   -----------------------------------
1   00001    500    111      20191108
2   00001   1000    222      20191107
3   00002    200    111      20191108
4   00002    400    222      20191108
5   00001    200    333      20191108
6   00001    400    444      20191108

我有一个 SQL 查询如下:

SELECT t.code, 
       sum(CASE WHEN t.remark IN ('111', '222', '333')
       THEN t.value ELSE 0 END) AS sum_123
FROM table_name_a t
    WHERE t.code='00001' and t.date='20191108'
GROUP BY t.code

输出如下:

    code    sum_123
   ------------------
1   00001    1100        

现在我想在 SQL 查询(Oracle)上创建一个视图或过程,我们不想要一个新列,是否可以让 sum_123 存储到 remark 列?假设我使用下面的 SQL 查询

SELECT t.code, t.value
FROM table_name_a t 
    WHERE t.remark='sum_123' and t.code='00001' and t.date='20191108'
GROUP BY t.code

如果我使用上面的 SQL 查询,我的预期输出如下:

    code    val        remark          date
   ------------------------------------------
1   00001    1100    sum_123          20191108 

是否可以将 create view/procedure save remarkvalsum_123 和 1100 的 value/result 一起使用?非常感谢您的任何建议。

这是你想要的吗?

select t.code, 
       sum(case when t.remark IN ('111', '222', '333') then t.value else 0 end) as val,
       'sum_123' as remark,
       date
from table_name_a t
where t.code = '00001' and t.date = '20191108'
group by t.code, date;