首页 > 解决方案 > 如何在 SQL 中按另一个标志过滤

问题描述

这是我的数据

Id   Vehicle          Police Number
1    Car              6734         
2    Car              7834
3    Motorcycle       5428
4    Car              4686
4    Motorcycle       5465
5    Car              3244
5    Motorcycle       4576
6    Car              5458
7    Motorcycle       4562

我需要的是为拥有摩托车的人获取所有汽车警察号码

Id   Vehicle          Police Number
4    Car              4686
5    Car              3244

标签: mysqlsqlfilter

解决方案


我会在这里使用存在逻辑:

SELECT t1.Id, t1.Vehicle, t1.PoliceNumber
FROM yourTable t1
WHERE t1.Vehicle = 'Car' AND EXISTS (SELECT 1 FROM yourTable t2
                                     WHERE t2.Id = t1.Id AND t2.Vehicle = 'Motorcycle');

推荐阅读