如何将下面二个SQL合并?

you_tube 2010-03-10 02:04:51
语句一:
--取分段起始时间
SELECT TJRQ
INTO START_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (

SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = START_NUM;

语句二:
---取分段结束时间
SELECT TJRQ
INTO END_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (

SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = END_NUM;
...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
robin_ares 2010-03-11
  • 打赏
  • 举报
回复
...

SELECT T.TJRQ TJRQ ... ORDER BY TJRQ
最大最小值而已,这么麻烦?
weg910 2010-03-11
  • 打赏
  • 举报
回复
SELECT STAR_TJRQ, END_TJTQ Into START_DATE, END_DATE
From (SELECT TT1.TJRQ STAR_TJRQ , TT1.TJRQ D_TJTQ ,ROWNUM ROWNO1,Rownum ROWNO2 FROM (SELECT T.TJRQ TJRQ FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D Where M.SERIAL_NO = T.SERIAL_NO AND T.NSRSBH = D.NSRSBH AND T.YXZT_DM = '3' AND (T.LSSJ = 0 OR T.LSSJ IS NULL) AND D.CGS_FLAG = 1 AND M.CZRY_DM = C_USER.USER_ID ORDER BY TJRQ ) TT1)
WHERE ROWNO2=START_NUM Or ROWNO1 = END_NUM ;
ldboy_zhuiming2008 2010-03-11
  • 打赏
  • 举报
回复
SELECT TJRQ
INTO START_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = START_NUM
union all
SELECT TJRQ
INTO END_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = END_NUM
micro180 2010-03-11
  • 打赏
  • 举报
回复
SELECT TJRQ
INTO START_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (

SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = START_NUM;
UNION
SELECT TJRQ
INTO END_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (

SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = END_NUM;
YY_MM_DD 2010-03-10
  • 打赏
  • 举报
回复
SELECT TJRQ
INTO START_DATE
FROM (SELECT TT1.TJRQ, ROWNUM ROWNO
FROM (

SELECT T.TJRQ TJRQ
FROM WORK_INFO_MAIN M, WORK_INFO_CHILD T, DJ_NSRXX D
WHERE M.SERIAL_NO = T.SERIAL_NO
AND T.NSRSBH = D.NSRSBH
AND T.YXZT_DM = '3'
AND (T.LSSJ = 0 OR T.LSSJ IS NULL)
AND D.CGS_FLAG = 1
AND M.CZRY_DM = C_USER.USER_ID
ORDER BY TJRQ

) TT1)
WHERE ROWNO = START_NUM or ROWNO = END_NUM

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧