Reservoir and river warning SQL statement for water conservancy and Flood Control

Source: Internet
Author: User

SQL Server version:

Create view v_hd_warninginfoasselect T. zdt8, T. tmnow, T. stcd, T. stnm, T. stlc, T. lgtd, T. lttd, T. showlevel, T. wrz, T. grz, TT. STTP, TT. rvnm, T. msgfrom (select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, t1.zdt8, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then' alert 'when zdt8 between wrz and grz then' alert: '+ Cast (zdt8-wrz) as varchar (10 )) when zdt8> grz then 'super guarantee:' + Cast (zdt8-grz) as varchar (10) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Z as zdt8, tmnow, showlevel from st_river_d) T1 left join (select stcd, isnull (wrz, 0) as wrz, isnull (grz, 0) as grz from nation) T2 on t1.stcd = t2.stcd Union all select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, region, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then 'limit reached 'when zdt8> wrz then' limit:' + Cast (zdt8-wrz) as varchar (10 )) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Rz as zdt8, tmnow, showlevel from st_rsvr_d) T1 left join (select stcd, bgmd, edmd, isnull (fsltdz, 0) as wrz, 0 as grz from st_rsvrfsr_ B) T2 on t1.stcd = t2.stcd and t1.tmnow between convert (varchar, year (getdate (), 4) + '-' + substring (t2.bgmd, 1, 2) + '-' + substring (t2.bgmd, 3, 2) and convert (varchar, year (getdate (), 4) + '-' + substring (t2.edmd, 1, 2) + '-' + substring (t2.edmd, 3, 2) as t inner join (select stcd, STTP, rvnm from DBO. st_stbprp_ B where (STTP = 'rr ') as TT ON T. stcd = TT. stcdwhere (T. MSG <> 'normal') and T. tmnow> = dateadd ([Day],-3, getdate (); then create view v_sk_warninginfoasselect T. zdt8, T. tmnow, T. stcd, T. stnm, T. stlc, T. lgtd, T. lttd, T. showlevel, T. wrz, T. grz, TT. STTP, TT. rvnm, T. msgfrom (select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, t1.zdt8, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then' alert 'when zdt8 between wrz and grz then' alert: '+ Cast (zdt8-wrz) as varchar (10 )) when zdt8> grz then 'super guarantee:' + Cast (zdt8-grz) as varchar (10) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Z as zdt8, tmnow, showlevel from st_river_d) T1 left join (select stcd, isnull (wrz, 0) as wrz, isnull (grz, 0) as grz from nation) T2 on t1.stcd = t2.stcd Union all select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, region, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then 'limit reached 'when zdt8> wrz then' limit:' + Cast (zdt8-wrz) as varchar (10 )) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Rz as zdt8, tmnow, showlevel from st_rsvr_d) T1 left join (select stcd, bgmd, edmd, isnull (fsltdz, 0) as wrz, 0 as grz from st_rsvrfsr_ B) T2 on t1.stcd = t2.stcd and t1.tmnow between convert (varchar, year (getdate (), 4) + '-' + substring (t2.bgmd, 1, 2) + '-' + substring (t2.bgmd, 3, 2) and convert (varchar, year (getdate (), 4) + '-' + substring (t2.edmd, 1, 2) + '-' + substring (t2.edmd, 3, 2) as t inner join (select stcd, STTP, rvnm from DBO. st_stbprp_ B where (STTP = 'zz ') as TT ON T. stcd = TT. stcdwhere (T. MSG <> 'normal') and T. tmnow> = dateadd ([Day],-3, getdate ());


Oracle version:

-- Create view v_sk_warninginfoasselect T. zdt8 as S, T. tmnow, T. stcd, T. stnm, T. stlc, T. lgtd, T. lttd, T. showlevel, T. wrz, T. grz, TT. STTP, TT. rvnm, T. msgfrom (select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, t1.zdt8, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then' alert 'when zdt8 between wrz and grz then' alert: '| cast (nvl (zdt8, 0)-nvl (wrz, 0) as varchar2 (10) When ZD T8> grz then 'super guarantee:' | cast (nvl (zdt8, 0)-nvl (grz, 0) as varchar2 (10 )) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Z as zdt8, tmnow, showlevel from st_river_d) T1 left join (select stcd, nvl (wrz, 0) as wrz, nvl (grz, 0) as grz from nation) T2 on t1.stcd = t2.stcd Union all select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, Beijing, t1.tmnow, t1.showlevel, t2.wrz, T2. Grz, case when wrz-zdt8 = 0 then 'throttling' When zdt8> wrz then ':' | cast (zdt8-wrz) as varchar2 (10) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Rz as zdt8, tmnow, showlevel from st_rsvr_d) t1 left join (select stcd, bgmd, edmd, nvl (fsltdz, 0) as wrz, 0 as grz from st_rsvrfsr_ B) T2 on t1.stcd = t2.stcd and t1.tmnow between (select to_char (sysdate, 'yyyy') from dual) | '/' | Substr (t2.bgmd, 1, 2) | '/' | substr (t2.bgmd, 3, 2) and (select to_char (sysdate, 'yyyy ') from dual) | '/' | substr (t2.edmd, 1, 2) | '/' | substr (t2.edmd, 3, 2 )) t inner join (select stcd, STTP, rvnm from st_stbprp_ B where STTP = 'rr ') tton T. stcd = TT. stcdwhere T. MSG! = 'Normal' and T. tmnow> = (select sysdate-1 from dual); -- river warning create view v_hd_warninginfoasselect T. zdt8 as S, T. tmnow, T. stcd, T. stnm, T. stlc, T. lgtd, T. lttd, T. showlevel, T. wrz, T. grz, TT. STTP, TT. rvnm, T. MSG from (select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, t1.stlc, t1.zdt8, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then' alert 'when zdt8 between wrz and grz then' alert: '| cast (Nvl (zdt8, 0)-nvl (wrz, 0) as varchar2 (10) When zdt8> grz then 'superguarantee:' | cast (nvl (zdt8, 0)-nvl (grz, 0) as varchar2 (10) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Z as zdt8, tmnow, showlevel from st_river_d) T1 left join (select stcd, nvl (wrz, 0) as wrz, nvl (grz, 0) as grz from st_rvfcch_ B) t2 on t1.stcd = t2.stcd Union all select t1.stcd, t1.stnm, t1.lgtd, t1.lttd, T 1. stlc, t1.zdt8, t1.tmnow, t1.showlevel, t2.wrz, t2.grz, case when wrz-zdt8 = 0 then 'exceeds the limit of 'when zdt8> wrz then: '| cast (zdt8-wrz) as varchar (10) else 'normal' end as MSG from (select stcd, stnm, lgtd, lttd, stlc, Rz as zdt8, tmnow, showlevel from st_rsvr_d) T1 left join (select stcd, bgmd, edmd, nvl (fsltdz, 0) as wrz, 0 as grz from nation) T2 on t1.stcd = t2.stcd and t1.tmnow be Tween (select to_char (sysdate, 'yyyy') from dual) | '/' | substr (t2.bgmd, 1, 2) | '/' | substr (t2.bgmd, 3, 2) and (select to_char (sysdate, 'yyyy') from dual) | '/' | substr (t2.edmd, 1, 2) | '/' | substr (t2.edmd, 3, 2) T inner join (select stcd, STTP, rvnm from st_stbprp_ B where STTP = 'zz ') TT ON T. stcd = TT. stcdwhere T. MSG! = 'Normal' and T. tmnow >=( select sysdate-1 from dual );

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.