我在将 2 个表连接在一起时遇到问题,如下所示
Table 'jobs'
id int(20) auto_increment PK
name varchar(200)
Table 'logs'
id int(20) auto_increment PK
job_id int(20) FK(events.id)
event varchar(200)
我想要所有具有 logs.event = 'initialized'
和 logs.event = 'failed'
日志条目的唯一 ID
如何使用 MySQL 执行此操作?
我已经尝试过这个查询,但它不起作用(查询成功,0 个结果,而数据库中有匹配的结果)
SELECT
a.id,
a.name
FROM
jobs as a
RIGHT OUTER JOIN logs b ON b.job_id = a.id
WHERE
b.event = 'initialized'
AND
b.event = 'failed'
最佳答案
试试这个:
SELECT
a.id,
a.name
FROM jobs a
INNER JOIN logs b on b.jobid = a.id
WHERE
b.event = 'initialized'
AND a.id in (SELECT distinct jobid from logs WHERE event = 'failed')
关于mysql - 加入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422489/