SQL:列不明确

时间:2014-06-11 23:51:41

标签: php mysql subquery

我有以下SQL查询,其中包含子查询:

SELECT * FROM `statics` WHERE `mmsi`= 
(SELECT `mmsi` FROM `positions`,`active` 
WHERE `active.mmsi` = `positions.position_ID`);

但是当我执行它时,我收到以下错误:

  

1052 - 专栏' mmsi'在字段列表中是不明确的

请帮我调整查询。

1 个答案:

答案 0 :(得分:3)

没有看到你的表结构,这是一个疯狂的猜测:

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`;