나는이 쿼리하위 쿼리에서 "잘못된 열 이름 XYZ"오류가 발생하지 않습니다. 열 이름이 하위 쿼리 테이블에 없더라도?
SELECT CustomerId FROM Stocks.dbo.Suppliers
그것은 나를이 오류를 제공을 실행합니다. 열 이름 'CustomerId'가 잘못되었습니다. 이 오류는 Suppliers 테이블에 CustomerId 열이 없으므로 유효합니다. 하지만 하위 쿼리에서 동일한 쿼리를 사용하면 오류가 발생하지 않습니다. 예 :
SELECT *
FROM SomeOtherDb.dbo.Customer
WHERE CustomerId In(SELECT CustomerId
FROM Stocks.dbo.Suppliers)
"잘못된 열 이름"과 같은 오류가 발생하지만 쿼리가 오류없이 실행됩니다.
정규화 된 이름은 모두 동일한 서버에있는 규칙입니다.
CustomerId는 SomeOtherDb.dbo.Customer 테이블에는 있지만 서브 쿼리에는 존재하지 않습니다.
왜이 동작입니까? 하위 쿼리가있는 것입니까?
감사합니다.
어느 상황에서 나에 대한 잘못된 열 오류가 발생합니다 (말했다, 나는 많은 사람들이 내가 :) 코드를 응축/단순화하기 위해 위의 사용 앨리어싱에 대한 십자군에 알고). 정규화 된 이름은 관습에 따라 또는 연결된 서버를 통해 제공됩니까? – Andrew
완전한 이름은 규칙 일뿐입니다. 두 DB 모두 동일한 서버에 있습니다. – Kashif