테이블을 조인하는데...
select C.*
from tb_SchoolInfo A join tb_SchoolData B join tb_Data_2010_11 C
on A.strSchoolCode = B.strSchoolCode on A.strSchoolCode = C.strBuildingCode
where A.strState = '대전' or A.strState = '광주'
전혀 오류 없는 이 구문에 'MSSQL2008'이 답합니다.
메시지 4104, 수준 16, 상태 1, 줄 2
여러 부분으로 구성된 식별자 "A.strSchoolCode"은(는) 바인딩할 수 없습니다.
이런 말도 안되는....
일단 저오류는 별칭이 선언 되지 않았을때 나는 에러입니다.
말 그대로 이름(별칭)이 없다는 소리입니다..
근데 코드를 보면 알겠지만 뒤에도 A를 사용하고 있습니다.
그런데 뒤에는 에러가 안나고 앞에는 납니다. -_-;;;
당연이 코드상으로는 제대로 선언을 했습니다.
이짓 저짓 해보았으나 해답을 못찾고 혹시나 해서 순서를 바꿔 보았습니다.
select C.*
from tb_Data_2010_11 C join tb_SchoolData B join tb_SchoolInfo A
on A.strSchoolCode = B.strSchoolCode on A.strSchoolCode = C.strBuildingCode
where A.strState = '대전' or A.strState = '광주'
됩니다...
아주 잘됩니다.....
아무래도 제가 조인의 특성을 잘 이해하지 못해서 그런거 같은데
변수선언 순서처럼 선언순서에 따른 에러인듯 합니다.
이거 자세히 아시는분 덧글좀 ㅜㅡ