2012-08-30 5 views
-3

테이블에 3 개의 열이 있고 모든 열에 숫자 값이 들어 있습니다.여러 열 추가 및 제거

나는 a와 b 열을 추가하고 C 열을 빼기를 원한다.

select (NVL(cola, 0) + NVL(colb, 0)) - NVL(colc, 0) 
from yourtable 
+1

감사의 동일한 사용하여 추가를 구현합니다. 질문을 편집하고 테이블 구조, 몇 줄의 샘플 데이터 및 해당 데이터의 원하는 출력을 제공하십시오. 우리는 당신이 무엇을하려고하는지 모르고 화면을 볼 수도없고 여기에서 당신의 마음을 읽을 수도 없습니다. 감사. –

+0

@ElVieejo, PL/SQL은 특별히 Oracle이므로 RDBMS 일 것입니다. :-) –

답변

3

, 그것은 소리 첫 번째 경우 B를 반환 할 수 있습니다.

SELECT CASE 
     WHEN A = B + C THEN B 
     ELSE A + B - C 
     END AS RESULT_VAL 
    FROM SOME_TABLE 

공유하고 즐기십시오.

+2

+1 -하지만'NULL'을주의하십시오 – Lamak

+0

감사합니다. 또한 a 열에 B와 c가 합계 된 경우 어떻게 열 값을 C 열로 가져와 B 값을 유지합니까 – user803860

+0

@Lamak 네가 맞다면 다시 NVL()을 추가해 주셔서 감사합니다. :) – Taryn

1

당신이 @ bluefeet의 대답에 귀하의 코멘트에 제기 된 질문에 응답 :

SELECT CASE 
     WHEN A = B + C THEN A - C 
     ELSE A + B - C 
     END AS RESULT_VAL 
    FROM SOME_TABLE 

또는 내가 뭔가를 놓친 거지하지 않는 한 당신은 그냥이 작업을 수행 할 필요가 같은

+0

SUM ((A + B) - C) 통화를 선택해 주셔서 감사합니다. 테이블에서 이 날 총 합계를 준다 – user803860

+0

'선택 SUM (A = B + C 다음 B ELSE A + B - C 끝) AS RESULT_SUM에서 SOME_TABLE '보십시오. –

0

뺄 아래의 논리를 확인하시기 바랍니다, 여러 열

select 
SUM(a.COL1 -  B.COL1) COL1, 
SUM(a.COL2 -  B.COL2) COL2, 
SUM(a.COL3 - B.COL3) COL3, 
SUM(a.COL4 - B.COL4) COL4, 
SUM(a.COL5 -  B.COL5) COL5 , 
SUM(a.COL6 -  B.COL6) COL6, 
SUM(a.COL7- B.COL7) COL7 
FROM 
(select Coln, --Common column 
sum(COL1) COL1 , 
sum(COL2) COL2, 
sum(COL3) COL3, 
sum(COL4) COL4, 
sum(COL5) COL5, 
sum(COL6) COL6, 
sum(COL7) COL7 
from wrk_prod 
GROUP BY Coln) a, 
(select Coln, --Common column 
sum(COL1) COL1 , 
sum(COL2) COL2, 
sum(COL3) COL3, 
sum(COL4) COL4, 
sum(COL5) COL5, 
sum(COL6) COL6, 
sum(COL7) COL7 
from wrk_test 
GROUP BY Coln) b 
where a.Coln = b.Coln; 

당신은 여기에 갈 수있는 정보를 제공하지 않을 아제

+0

질문에 대한 답변을 제공하지 않습니다. – bish