更新:
好吧,所以你的回复中的查询非常有效!现在,我遇到了一些不太理想的输出。在日志表中,有时同一个evid下有多个日志。这会导致查询返回具有相同事件信息的多行。有没有一种方法可以将所有的log.text与匹配的log.evid连接起来,这样输出就只限于所需的信息?
我正在尝试制定一个mysql查询,该查询将从表中选择某些列,并将它们与同一DB上不同表中的某些列进行比较。我只想显示具有匹配事件ID(evid)的行。这两个表分别命名为status
和log
。events.log
表中我只需要的列命名为evid
和text
我提出的查询显示Zenoss控制台中的所有活动警报:
SELECT device, component, summary, count, ownerid, evid
FROM events.status
WHERE severity >2;
基本上,我需要弄清楚如何连接events.status
和events.log
,并且只显示具有匹配evid
的行
我对这个数据库只有读访问权限,但如果写访问是必要的,我可能会和合适的人甜言蜜语以获得访问权限。
非常感谢你的帮助,因为我是一个十足的DB noob。
SELECT device, component, summary, count, ownerid, l.evid,l.text
FROM events.status s inner join events.log l on s.evid=l.evid
WHERE severity >2;
SELECT device, component, summary, count, ownerid, st.evid, lg.text
FROM events.status st
INNER JOIN events.log lg ON st.evid = lg.evid
WHERE st.severity >2
SELECT device, component, summary, count, ownerid, events.status.evid, events.log.*
FROM events.status, events.log
WHERE events.status.evid = events.log.evid
AND severity >2;
尝试
SELECT S.device, S.component, S.summary, S.count, S.ownerid, L.evid,L.text
FROM events.status S
join events.log L
on S.evid=L.evid
WHERE S.severity >2
使用内部联接
select l.text, s.device, s.component, s.summary, s.count, s.ownerid, s.evid
from events.status s inner join events.logs l on s.evid=l.evid
where s.severity>2