CREATE TABLE `schedule` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`aircraftType` varchar(50) DEFAULT NULL,
//...other fields
PRIMARY KEY (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=5611 DEFAULT CHARSET=latin1;
CREATE TABLE `aircrafts` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`aircraftType` varchar(50) DEFAULT NULL,
//...other fields
PRIMARY KEY (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=5611 DEFAULT CHARSET=latin1;
数据库表的示例内容:
表"时间表"
aircraftType = "320"
表"飞机"
aircraftType = "A320"
aircraftType = "A330"
查询:
SELECT *
FROM Schedule F, Aircrafts A
WHERE F.aircraftType = A.aircraftType;
如何以aircratf类型" 320"的方式更新此查询。和" A320"在WHERE子句中会被认为是类似的吗?
答案 0 :(得分:1)
SELECT *
FROM Schedule F, Aircrafts A
WHERE F.aircraftType = A.aircraftType LIKE CONCAT('%', F.aircraftType, '%')
OR
LIKE CONCAT('\"','%', F.aircraftType, '%','\"')-added double quotes.
答案 1 :(得分:0)
尝试使用SUBSTRING()剪切第一个字符:
SELECT *
FROM Schedule F, Aircrafts A
WHERE F.aircraftType = SUBSTRING(A.aircraftType, 2)
或者像@Mihai建议的那样,只需将%
放在其中没有A
的字段中:
SELECT *
FROM Schedule F, Aircrafts A
WHERE CONCAT('%', F.aircraftType) LIKE A.aircraftType
但最好的解决方案是更新相同关系字符串的数据。