sum((t.transferrate - 1) * t.amount) as totalratedamount,
--t.status,
t.rewardflg
--t.rewardjnl,
--t.shopname
from BUSI_BANK_TRANS_HISTORY t
where t.rewardflg = '0'
group by t.jnlno,t.rewardflg
上面的查询使用了除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。
上面除了聚合函数,还有jnlno,status,rewardfla等,下面的group by都要包含。
3.ORA-01756: 引号内的字符串没有正确结束
sql.append(" where t.rewardflg = '0' ");
0后面的单引号写掉了一个
4.ORA-01747: user.table.column, table.column 或列说明无效
我的sql错误:
update busi_bank_trans_history t set t.status = '1', where t.status = '5'
多了个逗号。
1).表,或者表中的列无效,检查下表,列是否存在
2).与ORACLE保留字有关 ,建表不能用oracle保留字。
执行下面语句可以查看oracle关键字:
select * from v$reserved_words