본문 바로가기

써먹어봄/시간단축 엑셀

SQL공부하징 / 쿼리 오류, column is ambiguous

 

 

오랜만에 SQL관련 포스팅,

쿼리 오류가 발생하면 일단 진땀부터 난다,

맞게 쓴 것 같은데 왜..??

오류 볼 때 마다 그 때 그 때 포스팅 해두면

이 자체로도 잊지 않을 수 있고,

기억이 나지 않을 때 찾아보면 좋을 것 같다

 

여튼 오늘의 오류는 이런 것이었다

정말 간단했고, 2개의 table을 조인 시켜서 간단히 결과를 보려고 한 것이었는데..

 

가령 내가 A table에 product명이 있고, B table에 price가 있어서

두 테이블의 code를 기준으로 두 테이블을 join시켜 두 값을 불러 온다고 생각해보자

 

select
	center,
	product,
	code,
	B.price
from A
join B
on A.code = B.code

 

말도 안되지만 초보자니까 이런식으로도 쓸 수 있을 것 같다

 

line ** column 'code' is ambiguous

그런데 이런 메세지가 나온다면??

 

아니 code가 왜 ambiguous(애매모호)하다는 거야?

생각했는데..

 

말 그대로 code는 A, B모두에게 있는 칼럼이기 때문에 어디서 이 값을 가져올 것인지 명시해야 하는 것이다

 

select
	A.center,
	A.product,
	A.code,
	B.price
from A
join B
on A.code = B.code

 

이상적으로는 이렇게 표기해주면 더 좋을 것이다

 

SQL공부하면서 심봉사가 눈 뜬 기분을 여러번 느꼈다

조금 막막하고 귀찮게 여겨져도

읽을 수 있고 몇 개만 손봐서 쓸 수 있어도 훨씬 작업 효율이 높아지는 걸 느낀다

틈틈이 블로그에 남겨서 모음집처럼 볼 수 있도록 해야겠다

 

SQL자격증 도전은 언제?ㅎ

반응형