2014-04-25 4 views
0

저는 새로운 사용자이며 오늘 큰 도움이되었습니다. 잘하면이 문제에 관한 마지막 게시물이 될 것입니다!멀티 파트 식별자 "Address.Telephone"을 바인딩 할 수 없습니다.

오류 - 메시지 4104, 수준 16, 상태 1, 줄 2 다중 부분 식별자 "Address.Telephone"을 바인딩 할 수 없습니다.

SELECT * FROM [User] 
INNER JOIN "Order" ON [User].ID = [Order].UserId 
WHERE LEN([Address]​​.[Telephone]) = 10 AND "Order".[Status] = 3 

미리 감사드립니다.

+1

좀 더 상호 작용하면 좋을 것입니다. 예를 들어, [tag : mysql] 태그가 붙어 있지만 SQL Server처럼 보였던 마지막 질문에서이 데이터베이스 시스템이 실제로 어떤 데이터베이스 시스템인지 물어 보았지만 결코 응답하지 않았습니다. 이번에 응답 할 기회가 있습니까? –

+1

조인의 Address 테이블은 어디에 있습니까? –

+0

안녕하세요 Damien 사과가 SQL Server 용입니다. 지금 태그를 수정하겠습니다. – user3572895

답변

0

필자는 어떤 전화 번호 테이블을 가지고 있는지 잘 모르겠다. 전화 번호부 전화 번호는 어디서 왔는지는 모르겠지만, 테이블간에 중복되지 않는 한 테이블에서 제거 할 수있다. "Address.Telephone"에서 "Telephone"으로 변경하십시오. 여전히 오류가 발생하면 함께 가입하는 테이블 (User \ Order)에 전화 열이 없으므로 전화 열이있는 다른 테이블에 가입해야합니다!

1) 전화는

SELECT * 
FROM [User] 
INNER JOIN "Order" ON [User].ID = [Order].UserId 
WHERE LEN([Telephone]) = 10 AND "Order".[Status] = 3 

또는

2) 당신이 전화는 사용자 테이블에 알고있는 사용자 또는 주문 표에

SELECT * 
FROM [User] 
INNER JOIN "Order" ON [User].ID = [Order].UserId 
WHERE LEN([User].[Telephone]) = 10 AND "Order".[Status] = 3 

또는

3) 전화는 완전히 다른 테이블에 있습니다.

SELECT * 
FROM [User] 
INNER JOIN "Order" ON [User].ID = [Order].UserId 
INNER JOIN UserDetails ON UserDetails.UserID = User.UserId 
WHERE LEN(UserDetails.[Telephone]) = 10 AND "Order".[Status] = 3 
관련 문제