sql >> データベース >  >> RDS >> Oracle

ora-30926エラー

    using句に同じv_report_idを持つ行があるため、このエラーが発生したと思います。これを試してみてください

    merge into test_output target_table 
    USING (SELECT 
            CASE WHEN c.test_code = 1 THEN b.mean_diff 
                 WHEN c.test_code = 2 THEN b.norm_dist 
                 WHEN c.test_code = 3 THEN b.ks_stats 
                 WHEN c.test_code = 4 THEN b.ginni 
                 WHEN c.test_code = 5 THEN b.auroc 
                 WHEN c.test_code = 6 THEN b.info_stats 
                 WHEN c.test_code = 7 THEN b.kl_stats 
                        END val1 
         FROM   combined_approach b inner join test_output c
              on  b.v_report_id = c.v_report_id 
              and c.upper_score = b.band_code 
                 WHERE c.v_report_id = lv_report_id  
                  group by v_report_id          
    ) source_table
    on (target_table.v_report_id = source_table.v_report_id
        and  target_table.v_report_id = lv_report_id)
    when matched then update  
       SET   target_table.upper_value = source_table.val1;
    



    1. 新しい行でTEXTをフェッチするPHPMYSQL

    2. SQLAlchemyでシャーディングするために__tablename__を動的に設定しますか?

    3. Microsoft SQL Serverによるアクセス–SSISを使用した大規模なデータセットのインポート

    4. ネストされていないjsonb列でのGROUPBY+COUNTDISTINCTの最適化