0
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"在此查询中不被视为相同。如何解决问题?

4

1 回答 1

3

要么=用于精确匹配,要么LIKE用于模式匹配,但不要将它们都放在同一个表达式中。而且您不需要将引号连接到LIKE模式中。

SELECT F.*
FROM FlightSchedule F
JOIN Aircrafts A
ON A.aircraftType LIKE CONCAT('%', F.aircraftType, '%')
WHERE F.flightNum_arr = '3913'
于 2013-08-30T07:52:00.100 回答