问题1:下面是我要写的一条SQL ORACLE的:
SELECT A.REGISTNO
max(A.LOSSUNDERWRITEENDDATE),
(-------)
FROM DATA_CASEBASEINFO A
GROUP BY A.REGISTNO;括号里面是要放入这么一个字段CHECKCASECODE。对应的是每一个REGISTNO 的最大的LOSSUNDERWRITEENDDATE 那一行数据的CHECKCASECODE字段。请问该如何补充。问题2:
下面是我写的一条SQL ORACLE的:
SELECT A.REGISTNO,
(case when sum(nvl(EXGRATIAFLAG,0))> 0 then '是' else '否' end),
FROM DATA_CASEBASEINFO A GROUP BY a.REGISTNO;
DATA_CASEBASEINFO表的数据可以简化为:
REGISTNO EXGRATIAFLAG
1 0
1 1
1 1
2 0
2 0
2 0
最终要显示的结果是:GROUP BY 了REGISTNO 后如果EXGRATIAFLAG包含至少1个1就显示是。不包含任何1就显示否。上面给出的SQL虽然能解决该问题。但是如果以后这标志位的不是1和0,而是1,2这样子。或者出现更多的标志位。代码就不好维护了。
REGISTNO EXGRATIAFLAG
1 是
2 否
SELECT A.REGISTNO
max(A.LOSSUNDERWRITEENDDATE),
(-------)
FROM DATA_CASEBASEINFO A
GROUP BY A.REGISTNO;括号里面是要放入这么一个字段CHECKCASECODE。对应的是每一个REGISTNO 的最大的LOSSUNDERWRITEENDDATE 那一行数据的CHECKCASECODE字段。请问该如何补充。问题2:
下面是我写的一条SQL ORACLE的:
SELECT A.REGISTNO,
(case when sum(nvl(EXGRATIAFLAG,0))> 0 then '是' else '否' end),
FROM DATA_CASEBASEINFO A GROUP BY a.REGISTNO;
DATA_CASEBASEINFO表的数据可以简化为:
REGISTNO EXGRATIAFLAG
1 0
1 1
1 1
2 0
2 0
2 0
最终要显示的结果是:GROUP BY 了REGISTNO 后如果EXGRATIAFLAG包含至少1个1就显示是。不包含任何1就显示否。上面给出的SQL虽然能解决该问题。但是如果以后这标志位的不是1和0,而是1,2这样子。或者出现更多的标志位。代码就不好维护了。
REGISTNO EXGRATIAFLAG
1 是
2 否
解决方案 »
- 大家帮我存储过程怎么错了!!!!在线等!!!!!!!!
- 想实现的sql功能
- ORA-12560: TNS:protocol adapter error(配置问题)
- for语句中update current怎么写 ?
- Oracle 建库
- 关于Oracle9i服务在Windows2000Server下总是意外中止的原因,众高手乱入!!
- Jbuilder2005+Oracle9i,配置完驱动,使用Database Piolt连接数据库时报错如下:
- Oracle中的SQL,得到表中前10条记录怎么写?谢谢![在线等待]
- rank() over()函數是如何使用的?
- 请指教一个修改记录的问题!!!急!!!
- 求问OBIEE主页登陆不上的问题
- ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01003: 语句未进行语法分析,救命啊!
SELECT A.REGISTNO, A.LOSSUNDERWRITEENDDATE, A.CHECKCASECODE
FROM (SELECT A.REGISTNO,
A.LOSSUNDERWRITEENDDATE,
A.CHECKCASECODE,
ROW_NUMBER() OVER(PARTITION BY A.REGISTNO ORDER BY A.LOSSUNDERWRITEENDDATE DESC) AS RN
FROM DATA_CASEBASEINFO A)
WHERE RN = 1Q2:
不管你【是】的FLG有多少,总归要约定一个【否】的FLG,不然你随便变,人都不知道。SQL语句就更迷茫了。