Database 在Oracle案例中使用多个条件
我在案例中使用案例时遇到了一些问题,我需要在WHEN子句中执行两次检查,但失败了,例如: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
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错误的前一行,请查看一下