2016-07-12 1 views
-1

テーブルに(oracleの)テーブルにnumber型の列を追加しようとしていますが、場合MOD更新tblMasterセットフラグ=ケース - :奇数行の値0と1の偶数行で奇数行の値0と偶数行の1のテーブルにnumber型の列を追加しようとしています

+3

テーブルは単独では注文できません。どのようにして行の「数」を特定しますか?あなたがそれを理解したら、あなたはあなたの答えを持っているかもしれません。たとえば、テーブルに自動インクリメントフィールドがあるとします。その後、あなたの奇妙な、ちょうどそのフィールドのmod 2の計算になります。 –

答えて

0

更新セット=ケースMOD(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は彼らが望む順序を指定することができますが、あなたがペダンティカルになりたい場合は、OPが質問を更新するときに回答を更新します。 – MT0

+0

また、注文後に ' - ...'を付けることで、注文を続行/変更できることを示していることに気付くかもしれません。 – MT0

関連する問題