, 나는이보기 생성 : 그것은 확인했다잘못된 개체 이름은 내가 그렇게하는 대신 때문에 일부 배포 제한으로 내 프로젝트에 synomyms을 사용할 수 없습니다
CREATE VIEW [dbo].[User] AS SELECT * FROM [PersonalData].[dbo].[User]
GO
을하지만 지금은 다음과 같이 수정해야합니다
LEFT OUTER JOIN
라인
Ambiguous column name 'Id'
:
ALTER VIEW [dbo].[User] AS
SELECT [Id],
t.[Name] AS [Title],
[FirstName],
[LastName],
[JobTitle],
[Department],
[EmailAddress],
[PhoneNumber],
[PhoneExtension],
[MobilePhoneNumber],
[CreatedDate],
[ModifiedDate],
[Uid],
[Active]
FROM [PersonalData].[dbo].[User] AS u
LEFT OUTER JOIN [PersonalData].[dbo].[Titles] AS t ON u.TitleId = t.Id
GO
는 현재는 실패합니다.
그러나 Microsoft SQL 관리 Studio는 오류 [PersonalData].[dbo].[Titles]
을 강조 :
Invalid object name '[PersonalData].[dbo].[Titles]
는 사실이 나던 그 테이블의 컬럼에 대한 인텔리 저를 제공합니다.
테이블 [PersonalData].[dbo].[Titles]
이 있습니다. 사실, 오류없이 다음 쿼리 결과를 반환 : SQL에 대한
select * from [PersonalData].[dbo].[Titles]
나의 지식은 충분히 깊이 아니지만이 Users
테이블을 찾지 만 나던 Titles
을 찾을 이유는, 이것이 이유를 이해하지는.
조금 더 상황 :
- 내가 만드는 오전보기는
PersonalData
데이터베이스에 있지만Platform
라는 다른 데이터베이스에 없습니다. - 컨텍스트를 확인했는데 OK입니다.
Platform
데이터베이스에 뷰를 생성하고 있습니다.
왜 그런가?
'SELECT u. [Id] AS [id]'를 사용할 수 없습니까? 보기를 만드는 것만으로도'Titles' 테이블을 찾을 수 있습니다. –
@MattBusche 약간의 정교함을 추가하면이 질문에 대한 답변으로 게시해야한다고 생각합니다. –
@MattBusche : 이것은 대답입니다 (부끄러움). 대답 해주세요, 받아 들일 것입니다. 감사합니다 – lontivero