2017-10-18 15 views
-1

나는 Stackoverflow에서 예제를 보았지만 아무도 나에게 결과를주었습니다, 나는 "선택"거기에 "왼쪽" OUTER JOIN "을 사용하여 다른 테이블의 열과 비교하지만 알 수없는 열의 오류가 발생하면 두 번째 JOIN이 필요하다는 것을 읽었지만 어떻게해야할지 모르겠다. 오류가 테이블 peruvian_foodidvideo라는 이름의 컬럼을 포함하지 않는 것을 말하는Mysql - Alice 외부 왼쪽 조인 오류가 발생했습니다

#1054 - Unknown column 'idvideo' in 'on clause' 

답변

1

:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(embed, '/', -2), '"', 1) as idvideo, embed, thumbnail, title, 
MATCH(title, tags, category) AGAINST('peruvian food') as score 
FROM peruvian_food 
LEFT OUTER JOIN peruvian_food_del ON (peruvian_food.idvideo = peruvian_food_del.id_video_del) 
WHERE MATCH(title, tags, category) AGAINST('peruvian food' IN BOOLEAN MODE) 
AND peruvian_food_del.id_video_del IS NULL 
LIMIT 30 

나는 다음과 같은 오류를 얻고있다.

idvideo이라는 별칭이 할당 된 SELECT 목록의 식을 참조하려고하는 경우 동일한 SELECT 내의 ON 절에 해당 참조를 사용할 수 없습니다. 이와 같은 참조가 허용 되더라도 peruvian_food. 테이블 이름으로 한정하지는 않습니다. 해당 테이블에 idvideo이라는 열이 없습니다.

간단한 해결 방법은 SELECT 목록에서 사용되는 표현을 반복하는 것입니다, 우리는 idvideo 별칭을 참조해야하는 경우

ON (SUBSTRING_INDEX(SUBSTRING_INDEX(peruvian_food.embed, '/', -2), '"', 1) = ... 

, 우리는 인라인 뷰를 사용할 필요가되도록 열 이름 파생 된 테이블에서 왔습니다.

우리는 단지 사양을 추측하고 있습니다 ... 우리가 달성하고자하는 것은 무엇입니까? (질문이있는 것조차 확신 할 수 없으며 질문보다 상태 보고서와 유사하므로 질문하는 것이 무엇인지 추측하고 있습니다.)

+0

사실입니다! 도움을 청하십시오! – Kokox