2016-09-12 2 views
2

내 쿼리는 두 테이블의 데이터를 가져와 결합하여 하나의 출력으로 출력합니다. 하위 쿼리는 오류없이 작동합니다. 하지만 내가 전체 쿼리를 실행할 때 나는 이와 같은 오류가 발생합니다.SQL Server에서 "varchar를 데이터 유형 숫자로 변환하는 산술 오버플로 오류"를 해결하는 방법은 무엇입니까?

varchar를 데이터 유형 numeric으로 변환하는 산술 오버플로 오류.

SELECT a.REF_NO + ' - ' 
     + (SELECT DISTINCT (c.c_name) 
      FROM C_MASTER c, 
       A_MASTER a 
      WHERE a.c_no = c._NO) AS refer 
FROM [A_MASTER] a, 
     [C_MASTER] c 
WHERE a.c_no = c._no 
ORDER BY a.REF_NO 

REF_NO 숫자 데이터 유형 내 쿼리입니다. 전반적으로이 나에게 실수 쿼리처럼 보이는

select CAST(a.REF_NO AS VARCHAR(100)) 
     +' - ' 
     +(select distinct (c.c_name) from C_MASTER c, A_MASTER a 
      where a.c_no=c._NO) as refer 
from [A_MASTER] a, [C_MASTER] c 
where a.c_no=c._no 
order by a.REF_NO 

을,하지만 당신은 당신의 결과를 원하는 난 당신이 뭘 하려는지에 대한 자세한 설명없이 그것을 바탕으로 개선 할 수 없습니다

+0

예제 데이터와 원하는 결과를 표시하십시오. –

+0

결과는 다음과 같아야합니다.> 10001 - annual competition – Mike

답변

3

이 시도 모양과 표가 어떻게 생겼는지 또한 조인을 사용하지 않는 이유가 있습니까?

+0

@Stam 이렇게하면 예외가 발생합니다. "DataBinding : 'System.Data.DataRowView'에 'REF_NO'라는 이름의 속성이 없습니다." – Mike

+1

@ user6592730'REF_NO'를 별명으로 열에 추가해야합니다. 원래 쿼리가 작동했다면 같은 오류가 발생했을 것입니다.'REF_NO' 열은 없습니다. – Luaan

+0

@Stam, 작동합니다. 답변 감사합니다. – Mike

1

다음 쿼리를 사용해보십시오. 쿼리 작성시 테이블을 쉼표로 구분하는 대신 조인을 사용하십시오.

Select distinct cast(a.ref_no as VARCHAR(50))+'-'+c.c_name 
from C_MASTER c 
     Join A_MASTER a 
         On a.c_no=c._NO 
관련 문제