SELECT F.* FROM FlightSchedule F, Aircrafts A
WHERE F.aircraftType = A.aircraftType
LIKE CONCAT('\"','%', F.aircraftType, '%','\"') AND F.flightNum_arr='3913';
数据库表的示例内容:
表"时间表"
aircraftType = "320"
表"飞机"
aircraftType = "A320"
aircraftType = "A330"
查询的预期结果是选择具有aircraftType = "320"
和flightNum_arr = "3913"
的条目,因为"320"
与"A320"
相同。问题是"320"
和"A320"
在此查询中不被视为相同。如何解决问题?
答案 0 :(得分:3)
使用=
进行完全匹配,或使用LIKE
进行模式匹配,但不要将它们都放在同一个表达式中。而且您不需要将引号连接到LIKE
模式。
SELECT F.*
FROM FlightSchedule F
JOIN Aircrafts A
ON A.aircraftType LIKE CONCAT('%', F.aircraftType, '%')
WHERE F.flightNum_arr = '3913'