2016-12-14 1 views
-1

다음은 내 쿼리 조인 중 하나입니다. 일반 스크리닝 세부 정보와 함께 영화 세부 정보가 결합 된 테이블을 만들려고합니다. 1066 오류가 계속 발생합니다. 누구든지 왜 도와 줄 수 있습니까?MySQL Workbench 오류 1066

SELECT screening.ScreeningID, screening.MovieID, SeatCapacity, SeatsAvailable 
    FROM screening 
     LEFT JOIN movie 
    ON screening.ID = movie.ScreeningID 

    UNION 

SELECT MovieName, Director, Genre 
    FROM movie  
     RIGHT JOIN movie 
    ON screening.ID = movie.ScreeningID; 

업데이트 : 답변에 대한

고마워, 난 절대 완전한 멍청한 놈이었다 복잡한 일 이상 (평소처럼). 좀 더 파고 들자, 이것이 내가 완벽하게 작동 한 것입니다. 여러 테이블의 데이터를 결합하여 한 테이블의 심사에서 좌석 가용성을 출력하려고했습니다.

SELECT s1.ScreeningID, s1.MovieID, s1.SeatCapacity, s1.SeatsAvailable, m1.Director, m1.MovieName,

m1.Genre 스크리닝 S1에서 동영상 M1

WHERE m1.screeningID = s1.screeningID

당신은 당신의 테이블을 별칭을하고 또한 UNION에 참여하는 각 쿼리가 같은 수의 O를 가지고 있어야합니다 필요
+0

오류 메시지에 대해 명확하지 않은 것은 무엇입니까? [mysql-error-1066'] (http://stackoverflow.com/questions/tagged/mysql-error-1066) 태그를 사용하여 다른 질문을 읽었습니까? – shmosel

+0

두 번째 쿼리에는 'FROM movie'가 있지만 'ON screening.ID'가 사용됩니다. 그들 중 하나에 오타가 있습니까? – Barmar

+0

이것은 'UNION'을 적절하게 사용하지 않은 것처럼 보입니다. 의도 한 결과의 견본을 보여줄 수 있습니까? – Barmar

답변

0

f 열.

0

참고 : UNION은 두 개의 완전한 (대부분 관련이없는) SELECT 검색어입니다.

두 번째 쿼리

SELECT MovieName, Director, Genre 
    FROM movie  
     RIGHT JOIN movie 
    ON screening.ID = movie.ScreeningID; 

도 테이블 또는 별칭을 가지고 있지 않음은 screening을했다. (뿐만 아니라 열이 UNION에 대한 일치하지 카운트 수) 또한 movie 두 번 포함 된 테이블이 있습니다, 그래서 당신은 액세스 모든 단일 열이 모호하고 테이블 별칭을 사용하지 않으면 오류가 발생하는 것입니다은 예 : FROM movie AS m1

각 별도의 쿼리가 자체적으로 작동하도록 설정 한 다음 UNION 문과 함께 결합하는 것이 좋습니다.