我有以下SQL查询,其中包含子查询:
SELECT * FROM `statics` WHERE `mmsi`=
(SELECT `mmsi` FROM `positions`,`active`
WHERE `active.mmsi` = `positions.position_ID`);
但是当我执行它时,出现以下错误:
1052-字段列表中的列“ mmsi”不明确
请帮助我调整查询。
最佳答案
没有看到您的表结构,这是一个疯狂的猜测:
SELECT *
FROM `statics`
WHERE `statics.mmsi` = (SELECT `active.mmsi`
FROM `positions`,`active`
WHERE `active.mmsi` = `positions.position_ID`);
但我不明白为什么要使用子查询来执行此操作。这应该产生相同的结果
SELECT statics.*
FROM `statics`, `positions`
WHERE `statics.mmsi` = `positions.position_ID`;