Finn.ian
article thumbnail

 

ERROR : Column reference [컬럼명] is ambiguous 오류와 해결법에 대해 포스팅을 진행하려 합니다.

 

원인

해당 오류는 2개 이상의 테이블 조인 시, 동일한 컬럼명이 존재하며

해당 컬럼이 어떠한 테이블의 컬럼을 참조하는지 명시되어 있지 않아 발생되는 오류입니다.

 

예시

예를 들어, base_tb 테이블의 [column1]라는 컬럼이 있고, JOIN하려는 tot_tb 테이블에도 [column1] 라는 컬럼명이 있을 때, 하단의 쿼리를 실행시키면 제목과 같은 오류가 발생합니다.

 

SELECT a.[column1]
  FROM base_tb a
  JOIN tot_tb b
    ON a.[column1] = b.[column1]
  WHERE [column1] = '1' ;

 

Column reference [column1] is ambiguous 라는 오류가 발생합니다.

 


이는 WHERE 절에 있는 [column1]이 어느 테이블의 컬럼인지 명시되어 있지 않기 때문에 발생한 오류입니다.

 

해결법

이를 해결하기 위해선 하단의 쿼리와 같이 [column1] 을

a.[column1] 또는 b.[column1]로 변경하시면 해당 오류를 해결할 수 있습니다.

SELECT a.[column1]
  FROM base_tb a
  JOIN tot_tb b
    ON a.[column1] = b.[column1]
  WHERE a.[column1] = '1' ;
--  WHERE b.[column1] = '1' ;

 

 

https://towardsdatascience.com/how-to-solve-the-ambiguous-name-column-error-in-sql-d4c256f3d14c

 

How to Solve the “Ambiguous Name Column” Error in SQL

Give the tables an alias

towardsdatascience.com

profile

Finn.ian

@Finn_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그