Database 在Oracle案例中使用多个条件

Database 在Oracle案例中使用多个条件,database,oracle,case,Database,Oracle,Case,我在案例中使用案例时遇到了一些问题,我需要在WHEN子句中执行两次检查,但失败了,例如: CASE WHEN trim(to_char(sysdate,'DAY')) = 'TUESDAY' THEN CASE WHEN ((max(trunc(initial_date)) < trunc(sysdate)) AND name like 'Ma%') OR ((max(trunc(initial_date)) < trunc(sysdate)) AND name like 'Rna

我在案例中使用案例时遇到了一些问题,我需要在WHEN子句中执行两次检查,但失败了,例如:

CASE
WHEN trim(to_char(sysdate,'DAY')) = 'TUESDAY' THEN
CASE 
WHEN ((max(trunc(initial_date)) < trunc(sysdate)) AND name like 'Ma%') OR ((max(trunc(initial_date)) < trunc(sysdate)) AND name like 'Rna%') THEN 'something'
WHEN ((max(trunc(initial_date)) < trunc(sysdate)) AND name like '%ame') OR ((max(trunc(initial_date)) < trunc(sysdate)) AND name like '%ore') THEN 'somethingelse'
END
ELSE 'noproblemo'
END
as 'info',
'username' as username
from DBtable@dblink
where initialdate < trunc(sysdate)
and details = 'Criteria for search'
案例
当trim(to_char(sysdate,'DAY'))=“星期二”时
案例
当((max(trunc(initial_date))
它现在抛出:


ORA-00937:不是单个组功能 ORA-02063:来自DBLINK的前一行


非常感谢任何指针

我认为您错过了另一个
结束
,因为它是
嵌套大小写表达式

CASE
    WHEN trim(to_char(sysdate,'DAY')) = 'TUESDAY' THEN
    (CASE 
    WHEN ((max(trunc(initial_date)) over() < trunc(sysdate)) AND name like 'Ma%') OR ((max(trunc(initial_date))  over() < trunc(sysdate)) AND name like 'Rna%') THEN 'something'
    WHEN ((max(trunc(initial_date))  over() < trunc(sysdate)) AND name like '%ame') OR ((max(trunc(initial_date)) over() < trunc(sysdate)) AND name like '%ore') THEN 'somethingelse'
    ELSE 'noproblemo'
    END)
    END,
    'username' as username
    from DBtable@dblink
    where initialdate < trunc(sysdate)
    and details = 'Criteria for search'
案例
当trim(to_char(sysdate,'DAY'))=“星期二”时
(案例
当((max(trunc(initial_-date))超过()
我已经更新了查询。结局就在那里。问题似乎是WHEN子句中的多个操作?ORA-00937:非单个组函数ORA-02063:DBLINKI编辑我的答案以修复ORA-00937:非单个组函数的前一行。为了修复ORA-02063:DBLINK错误的前一行,请查看一下