2014-10-14 3 views
-2

SQL * Plus에서 OLTP 테이블의 데이터를 추가하고 그 결과를 여러 사용자에게 전자 메일로 보내는 "보고서"를 만들었습니다.오라클 합계가 올바르지 않음

그래도 문제를 발견했습니다. 테이블 CATEGORIES의 총 그것은 "45379307"대신 "45379667"이어야

SQL> select * from CATEGORIES; 

DATE    P4   D1   D2   P5   P6  P7  TOTAL    
--------- ---------- ---------- ----------- ----------- ----------- -------- -----------    
14-OCT-14 200,623 2,320,173 6,807,295 17,861,027 17,386,567 803,982 45,379,667 

잘못된 것입니다.

... CATEGORIES 테이블의 합계로부터 얻어진다

을이 테이블 번호 (10) 열이베이스 테이블 카테고리 P4, D1, D2를 저장 NUMBER 열 (NO 정밀도)이 베이스 테이블 CATG_ACTV.

UPDATE CATEGORIES 
    SET TOTAL = (SELECT SUM(total_catg_count) FROM CATG_ACTV); 

왜 총계가 잘못 되었습니까? 열 NUMBER 열의 크기가 잘못 되었기 때문입니까? 이 문제를 어떻게 해결할 수 있습니까?

+2

음, 200,623 + 2,320,173 + 6,807,295 + 17,861,027 + 17,386,567 + 803,982 = ** 45379667 **. 왜 그것이 45,379,307이어야한다고 생각합니까? – LittleBobbyTables

+0

카테고리 테이블의 데이터가 주어지면 총계가됩니다. 당신은 대답이 틀렸다고 생각하는 이유에 대한 정보 나 당신의 카테고리 데이터를 구성하는 데이터를 알려주지 않습니다. – Kritner

답변

5

내가 한 일을 알고 있습니다. 산술을 할 때, 당신은 숫자를 전치했습니다. 200623 대신 200263을 사용했습니다.

200263 + 2320173 + 6807295 + 17861027 + 17386567 + 803982 = 45379307

+0

거기에 멋진 자리가 있습니다. – LittleBobbyTables

+2

+1을 다시 받았습니다. 너는 골드 배지와 높은 직책을 가지고있어. 그래서 이것은 단지 n00b 일이 아니었다. 나는 왜 코드가 왜 "잘못된"대답을하는지 찾기 위해 몇 시간 동안 코드를 보았을 것입니다. 치명적인 오류는 이것과 비교하면 쉽습니다. 때로는 떨어져서 신선한 공기를 마시고 돌아 오거나, 코 워커의 두 번째 눈을 가져 오거나, 심지어는 게시하는 것이 가장 좋은 경우가 있습니다. 나는 당신이 그 해결책을 발견했을 때 너 같은 사람이었을 것이라고 확신한다. –

+0

나는 열병과 감기에 걸린다. 그리고 나는 나의 침대 시간을 지나서 길을 계속 코딩하고 있었다. 내가 잘못 입력 한 것을 안다. 모두에게 사과합니다. 시간 내 주셔서 감사합니다. 나는 내 자신의 게시물에 투표권을 행사할 수 있었으면 좋겠다. – Chris