您的位置:首页 > 数据库

SQL 多表条件查询完成 将超出警戒线的机器向相关人员发出告警

2014-01-17 15:37 316 查看
下面的语句完成的功能如下:将超出警戒线的机器向相关人员发出告警

1 从两个表A,B中查找信息展示出来(a.vol1 b.vol1 a.vol2 b.vol2 a.ID)

2 在查找的过程中需要满足一定的条件,也就是某些记录才会被显示 ( where a.id = b.id and  a.ID in (***))

3 那些被显示的记录每一行都有一个ID列

4 当且仅当一行中的id在另一个查询结果中才会显示此行记录( and  a.ID in (***) )

5 子查询用来判断实时状态是否超出了预警值,并返回那些超出预警值的前置机的ID号,将这种种全部超出预警值的ID号做成一个集合,凡是id在此集合中的记录都应该被显示出来

6 此查询具有一般意义,具有重要参考价值

SELECT  a.vol1  , b.vol 1, a.vol2  ,b.vol2  , a.ID  

from scp_person_repair_node as a , sec_user as b

where a.ID =  b.ID and a.ID in
( select b1.ID 
from scp_fepstatus as b1 , scp_alarm_profit as b2 
where b1.ID = b2.ID and 
( b1.SCP_CPU > b2.SCP_CPU_ALARM_VALUE or 
b1.SCP_MEMORY_USED > b2.SCP_MEMEORY_ALARM_VALUE or 
b1.SCP_STORAGE_USED > b2.SCP_STORY_ALARM_VALUE 
)
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: