使用2个表中的where子句选择mysql数据

mih*_*hai 4 mysql sql join one-to-many

我有2个mysql表,如下例所示:

汽车

Id     CAR NAME          AGE

1   Ford        2 years
2   AUDI        1 years 
3   Ford        2 years
Run Code Online (Sandbox Code Playgroud)

OPTIONS

Id  id_car   option

1    1      ESP
2    2          ABS
3    3          ABS
4    3          ESP
Run Code Online (Sandbox Code Playgroud)

而且我需要选择所有拥有ABS和ESP的2岁车.所以它应该在这个例子中回归:3福特

如果你有任何想法......

谢谢

Joe*_*lli 8

由/具有的组将确保汽车具有两种期望的特征.

select c.id, c.name
    from cars c
        inner join options o
            on c.id = o.id_car
                and o.option in ('ABS','ESP')
    where c.age = 2
    group by c.id, c.name
    having count(distinct o.option) = 2
Run Code Online (Sandbox Code Playgroud)