본문 바로가기
MySql

MySQL SQL-필드 목록의 열이 모호합니다.

by 베이스 공부 2020. 10. 31.
반응형

BOOKINGS와 WORKER 테이블이 두 개 있습니다. 기본적으로 작업자를위한 테이블과 작업자가 예약이라고하는 시간 프레임에서해야 할 일을 추적 할 수있는 테이블이 있습니다. 작업에 사용 가능한 작업자가 있는지 확인하려고하므로 예약을 쿼리하여 요청 된 시간에 시작 종료 날짜 사이에 사용 가능한 작업자가 있는지 확인합니다. 그러나 나는 다음 부분에 갇혀 있습니다. 해당 시간을 사용할 수있는 작업자 목록을 반환합니다. 공유 열에 전달 된 테이블을 조인 할 수 있다는 것을 읽었으므로 WORKER_NAME 열과 내부 조인을 시도했지만이 작업을 수행하려고하면 모호한 오류가 발생합니다. 이것은 내가 개념을 오해했다고 믿게 만듭니다. 누구든지 내가 무엇을 이해하고 있는지, 어떻게하는지 알고 있는지, 아니면 왜 내가 아래에 오류가 있는지 알고 있습니다. 감사합니다 !!!!

CREATE TABLE WORKER (
            ID INT NOT NULL AUTO_INCREMENT,
            WORKER_NAME  varchar(80) NOT NULL,
            WORKER_CODE  INT, 
            WORKER_WAGE  INT, 
            PRIMARY KEY (ID)
)

CREATE TABLE BOOKING (
            ID INT NOT NULL AUTO_INCREMENT,
            WORKER_NAME  varchar(80) NOT NULL,
            START DATE NOT NULL,
            END DATE NOT NULL, 
            PRIMARY KEY (ID)
)

질문

SELECT *
FROM WORKERS
INNER JOIN BOOKING
ON WORKER_NAME = WORKER_NAME
WHERE (START NOT BETWEEN '2010-10-01' AND '2010-10-10')
ORDER BY ID

# 1052-on 절의 'WORKER_NAME'열이 모호합니다.

 

해결 방법

 

쿼리에서 "worker_name"열은 두 테이블에 있습니다. 이 경우 테이블 이름을 열 식별자의 일부로 참조해야합니다.

SELECT *
FROM WORKERS
INNER JOIN BOOKING
ON workers.WORKER_NAME = booking.WORKER_NAME
WHERE (START NOT BETWEEN '2010-10-01' AND '2010-10-10')
ORDER BY ID

 

참조 페이지 https://stackoverflow.com/questions/40537327

 

 

반응형

댓글