2016-07-12 1 views
-1

테이블에 숫자 형식의 열을 추가하려고합니다 (oracle에서) 때 개조 업데이트 tblMaster 세트 플래그 = 경우 : - 홀수 행에 값 0과 1 짝수 행에서숫자 형식의 열을 홀수 행의 값 0과 짝수 번호의 1의 테이블에 추가하려고합니다.

+3

테이블은 독자적으로 주문할 수 없습니다. 행의 "숫자"를 어떻게 식별합니까? 일단 당신이 그것을 알아 냈어, 당신은 당신의 대답을 할 수 있습니다. 예를 들어 테이블에 자동 증가 필드가있을 수 있습니다. 그렇다면, 당신의 홀수와 심지어는 해당 필드에 대한 mod 2 계산 일 것입니다. –

답변

0

업데이트 세트 = 경우 개조 (ROWNUM, 2) = 0을 1 다른 0 단부 예와 (rownum, 2) = 0이면 1 else 0 end

0
SELECT t.*, 
     1 - MOD(ROWNUM, 2) AS odd_even 
FROM (
    SELECT * 
    FROM your_table 
    ORDER BY col1 -- ... 
) 
+0

이것은 사실이 아니라고 가정합니다 :-) 왜 col1에 의한 정렬이 아닌가? 예를 들어, col1은 먼저 null로, col1은 desc로 생성됩니까? 서두는 무엇입니까? 왜 OP가 명확 해지기를 기다리지 않을까요? – mathguy

+0

질문을 명확히하는 것이 방법론을 실질적으로 변경시키지 않기 때문에. 당신은 무언가에 의해 테이블을 주문한 다음 명령을 받으면 행 번호의 MODULUS 2를 사용합니다. OP는 그들이 원하는 순서대로 지정할 수 있지만, pedantic을 원한다면 OP가 질문을 업데이트 할 때 대답을 업데이트 할 것입니다. – MT0

+0

또한 주문 후 '- ...'을 입력하여 원하는대로 주문을 계속/수정할 수 있음을 나타낼 수도 있습니다. – MT0

관련 문제