2013-05-31 2 views
0

내가 가진 응용 프로그램 데이터의 임시 테이블을 만들려고합니다. 내가 서브 쿼리를 실행할 때 그것을 잘 작동하지만 임시 테이블 매개 변수 내에서 실행할 때CROSS JOIN을 사용하여 임시 테이블 만들기

오류 코드와 함께 실패 'where 절'

CREATE TEMPORARY TABLE CurrentApplications ENGINE=MEMORY AS 
(
SELECT *, planning_scheme.markus_ra, planning_scheme.metro_or_rural 
FROM application 
INNER JOIN key_table ON key_table.app_id = application.app_id 
INNER JOIN planning_scheme ON planning_scheme.ps_code = application.planning_scheme 

CROSS JOIN 
(
    SELECT key_table.app_id AS app_id2, planning_return.resp_authority AS resp_id 
    FROM key_table 
    INNER JOIN planning_return ON key_table.return_id = planning_return.return_id 

)getApplicationsForRespID 

WHERE application.app_id = getApplicationsForRespID.app_id 
AND key_table.is_current = 1 

에 1054 알 수없는 열 'getApplicationsForRespID.app_id')

답변

2

크로스 조인 하위 쿼리에는 key_table.app_id AS app_id2이 있습니다. 즉, getApplicationsForRespID.app_id 필드가 없음을 의미합니다.

대신 WHERE 절에 getApplicationsForRespID.app_id2을 사용하십시오!

+0

예. 감사합니다. –

관련 문제