SQL查询以联接2个表,并且仅显示具有匹配数据的行



更新:

好吧,所以你的回复中的查询非常有效!现在,我遇到了一些不太理想的输出。在日志表中,有时同一个evid下有多个日志。这会导致查询返回具有相同事件信息的多行。有没有一种方法可以将所有的log.text与匹配的log.evid连接起来,这样输出就只限于所需的信息?

我正在尝试制定一个mysql查询,该查询将从表中选择某些列,并将它们与同一DB上不同表中的某些列进行比较。我只想显示具有匹配事件ID(evid)的行。这两个表分别命名为statuslogevents.log表中我只需要的列命名为evidtext

我提出的查询显示Zenoss控制台中的所有活动警报:

SELECT device, component, summary, count, ownerid, evid
  FROM events.status
 WHERE severity >2;

基本上,我需要弄清楚如何连接events.statusevents.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

相关内容

  • 没有找到相关文章

最新更新