3

此 sql 失败:

select * from RRICallouts as r 
    JOIN LevelToCalloutsJT as lc on ( `r.__kp_RecID` = `lc._kf_RecID~Callout` ) 
    JOIN Levels as l ON ( `lc._kf_RecID~Level` = `l.__kp_RecID` ) 
  where `l.__kp_RecID` = 201006221644060009

#1054 - Unknown column 'l.__kp_RecID' in 'where clause

这有效:

select `__kp_RecID` from Levels as l ;

在某些 linux 变体上使用 MySQL 5.0.77

4

1 回答 1

3

问题在于你的反引号。您应该按如下方式使用它们:

`r`.`__kp_RecID` 

... 代替:

`r.__kp_RecID`

测试用例:

CREATE TABLE test (id int, value int);
INSERT INTO test VALUES (1, 100);

SELECT `t`.`id` FROM test AS t;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

SELECT `t.id` FROM test AS t;
ERROR 1054 (42S22): Unknown column 't.id' in 'field list'
于 2010-08-05T16:08:31.530 回答