嗨我试图搜索两个表并得到我需要的结果我有一个表与用户id的资格,以及如下所示:
表名:phpvms_airframe_qual
id pilotid airframe icao
0 1001 name tutr
1 1001 name eufi
2 1002 name tutr
3 1002 name king
4 1001 name a400
表名:phpvms_aircraft
id fullname icao registration
0 tutor tutr G-BXEX
1 typhoon eufi ZJ932
2 tutor tutr G-DXRT
3 kingair king ZZ990
4 atlas a400 ZM400
我需要做的是获取飞机列表,但只显示用户有资格的飞机。因此,用户1001将从示例中显示以下内容:
id fullname icao registration
0 tutor tutr G-BXEX
1 typhoon eufi ZJ932
2 tutor tutr G-DXRT
4 atlas a400 ZM400
和1002将显示以下内容:
id fullname icao registration
0 tutor tutr G-BXEX
2 tutor tutr G-DXRT
3 kingair king ZZ990
我试过了:
SELECT * FROM `phpvms_aircraft` WHERE phpvms_aircraft.icao = (SELECT icao FROM `phpvms_airframe_qual` WHERE pilotid = '1001')
但是我发现错误任何想法如何做到这一点
由于
答案 0 :(得分:0)
这应该可行,但我无法测试它。让我知道它是否没有出现错误。
SELECT * FROM phpvms_aircraft
INNER JOIN phpvms_airframe_qual ON phpvms_airframe_qual.icao = phpvms_aircraft.icao
WHERE phpvms_airframe_qual.pilot_id = 1001;
答案 1 :(得分:0)
您可以进行内部联接以获得此答案:
select * from phpvms_aircraft inner p join phpvms_airframe_qual pq on p.icao = pq.icao where ...