2014-05-25 2 views
1

이 SQL을 실행하려고하면 "조인 식의 데이터 형식이 일치하지 않습니다."라는 메시지가 나타납니다.조인 식의 데이터 형식이 일치하지 않습니다.

SELECT oldtable.name, oldtable.number, newtable.number 
FROM oldtable, newtable 
WHERE (([oldtable].[number]=[newtable].[number])); 

두 테이블의 숫자를 비교하고 같은 이름의 모든 사람들에게 적절한 이름을 추가하고 싶습니다. 누군가 나를 도울 수 있습니까?

+0

당신이 당신의 테이블 정의를 보여줄 수 있습니까? 두 테이블의 'number' 필드에 오류 메시지의 데이터 유형이 같지 않은 것 같습니다. 또한'join' 문법을 사용하는 것을 고려할 것입니다. – sgeddes

답변

0

선호하는 구문은 join 사용하는 것입니다 :

SELECT OT.name, OT.number, NT.number 
FROM oldtable OT 
    INNER JOIN newtable NT ON OT.[number] = NT.[number] 

을하지만 메시지가 필드를 말하는 것처럼 당신은 당신이 convert 또는 cast 작업을 수행해야 의미 동일한 유형이어야에 JOIN 작업을 수행 해당 열 중 하나 또는 둘 모두에

나는 정확한 답을 줄 수 있도록 테이블 정의를 게시하지만, 모두의 값을 변환하는 예는 정수로 열을 가입하시기 바랍니다 다음과 같습니다

SELECT OT.name, OT.number, NT.number 
    FROM oldtable OT 
    INNER JOIN newtable NT ON CAST(OT.[number] AS INT) = CAST(NT.[number] AS INT) 
관련 문제