2010-08-05 25 views
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 ; 

+0

당신이 다시 테스트 다음 쿼리의 다른 부분을 삭제 시도가 다음과 같이 그들을 사용한다 그것은 문제를 격리 시키는가? 즉, WHERE 문을 사용하여 시도한 다음 두 번째 JOIN 등을 사용하지 않고 시도하십시오. – Haroldo

+0

여기서도 equivilent SQL 쿼리가 실패합니까? * R 등 RRICallouts에서 L 레벨로서 (R '='.__ kp_RecID' lc._kf_RecID ~ Callout')이 '여기서 L = .__ kp_RecID' 201006221644060009 AND 'lc._kf_RecID ~ 수준으로 LC LevelToCalloutsJT 가입 선택 '='l .__ kp_RecID' – bot403

+2

기억에 남는 열 이름을 가진 데이터베이스에서 작업하는 것을 부러워하지 않습니다. 헝가리 굴착기인가요? –

답변

3

문제가있는 일부 리눅스 변종에서 MySQL 5.0.77을 사용하여 너의 배꼽.

`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' 
+2

backticks 문제가되었습니다. 많은 감사. 열 이름이 정말 지저분하지만 db name (호스트가 제공)이 더 좋습니다 - 481986_G5ikr6eJy9wmxRm0 – andyknas

+0

나는 그 중 하나를 부러워하지 않습니다! –

관련 문제