项目中的一段SQL其实,这个项目中充满了超长的SQL,最长的一个竟然在代码中写了二百多行
SELECT * FROM (SELECT * FROM APPEAL,REGION,HANDLESTATE,FEEDBACKTYPE WHERE APPEAL.APPEAL_REGION_ID =REGION.REGION_ID(+) AND APPEAL.APPEAL_HANDLESTATE_ID = HANDLESTATE.HANDLESTATE_ID(+) AND APPEAL.APPEAL_FEEDBACKTYPE_ID = FEEDBACKTYPE.FEEDBACKTYPE_ID(+) AND APPEAL_ID IN (SELECT DISTINCT APPEAL_ID FROM APPEALTOORIGIN WHERE APPEAL_ORIGIN_ID IN (SELECT APPEAL_ORIGIN_ID FROM APPEAL_ORIGIN WHERE 1 = 1 AND APPEAL_SOURCE_ID=2 AND APPEAL_EMAIL LIKE '%rebound@ns.net%' )) AND 1 = 1 AND APPEAL_HANDLESTATE_ID=1 AND 1=1 AND APPEAL_LASTTIME>=1214841600 AND APPEAL_LASTTIME<=1217519999 ) WHERE (ROWID IN (SELECT rid FROM (SELECT rownum rno, rid FROM (SELECT rowid rid FROM (SELECT * FROM APPEAL,REGION,HANDLESTATE,FEEDBACKTYPE WHERE APPEAL.APPEAL_REGION_ID =REGION.REGION_ID(+) AND APPEAL.APPEAL_HANDLESTATE_ID = HANDLESTATE.HANDLESTATE_ID(+) AND APPEAL.APPEAL_FEEDBACKTYPE_ID = FEEDBACKTYPE.FEEDBACKTYPE_ID(+) AND APPEAL_ID IN (SELECT DISTINCT APPEAL_ID FROM APPEALTOORIGIN WHERE APPEAL_ORIGIN_ID IN (SELECT APPEAL_ORIGIN_ID FROM APPEAL_ORIGIN WHERE 1 = 1 AND APPEAL_SOURCE_ID=2 AND APPEAL_EMAIL LIKE '%rebound@ns.net%' )) AND 1 = 1 AND APPEAL_HANDLESTATE_ID=1 AND 1=1 AND APPEAL_LASTTIME>=1214841600 AND APPEAL_LASTTIME<=1217519999 ) ORDER BY APPEAL_COUNT DESC) WHERE rownum <= 100) WHERE rno >= 1)) ORDER BY APPEAL_COUNT DESC
SELECT * FROM (SELECT * FROM APPEAL,REGION,HANDLESTATE,FEEDBACKTYPE WHERE APPEAL.APPEAL_REGION_ID =REGION.REGION_ID(+) AND APPEAL.APPEAL_HANDLESTATE_ID = HANDLESTATE.HANDLESTATE_ID(+) AND APPEAL.APPEAL_FEEDBACKTYPE_ID = FEEDBACKTYPE.FEEDBACKTYPE_ID(+) AND APPEAL_ID IN (SELECT DISTINCT APPEAL_ID FROM APPEALTOORIGIN WHERE APPEAL_ORIGIN_ID IN (SELECT APPEAL_ORIGIN_ID FROM APPEAL_ORIGIN WHERE 1 = 1 AND APPEAL_SOURCE_ID=2 AND APPEAL_EMAIL LIKE '%rebound@ns.net%' )) AND 1 = 1 AND APPEAL_HANDLESTATE_ID=1 AND 1=1 AND APPEAL_LASTTIME>=1214841600 AND APPEAL_LASTTIME<=1217519999 ) WHERE (ROWID IN (SELECT rid FROM (SELECT rownum rno, rid FROM (SELECT rowid rid FROM (SELECT * FROM APPEAL,REGION,HANDLESTATE,FEEDBACKTYPE WHERE APPEAL.APPEAL_REGION_ID =REGION.REGION_ID(+) AND APPEAL.APPEAL_HANDLESTATE_ID = HANDLESTATE.HANDLESTATE_ID(+) AND APPEAL.APPEAL_FEEDBACKTYPE_ID = FEEDBACKTYPE.FEEDBACKTYPE_ID(+) AND APPEAL_ID IN (SELECT DISTINCT APPEAL_ID FROM APPEALTOORIGIN WHERE APPEAL_ORIGIN_ID IN (SELECT APPEAL_ORIGIN_ID FROM APPEAL_ORIGIN WHERE 1 = 1 AND APPEAL_SOURCE_ID=2 AND APPEAL_EMAIL LIKE '%rebound@ns.net%' )) AND 1 = 1 AND APPEAL_HANDLESTATE_ID=1 AND 1=1 AND APPEAL_LASTTIME>=1214841600 AND APPEAL_LASTTIME<=1217519999 ) ORDER BY APPEAL_COUNT DESC) WHERE rownum <= 100) WHERE rno >= 1)) ORDER BY APPEAL_COUNT DESC
我想知道的是,这样的SQL这个人是怎么写出来的?