• ベストアンサー

既存のテーブルに重複フラグを新設

お世話になります。 もう一つ質問させてください。 名前、性別、年齢 suzuki,male,20 tanaka,female,20 yamada,female,20 takeda,male,20 ono,male,20 条件:性別と年齢が重複しているデータは 新設フラグに1を立てる、他は0かNULL 名前、性別、年齢、重複フラグ suzuki,male,20,1 tanaka,female,20,1 yamada,female,20,1 takeda,male,20,1 ono,male,27,null この場合のSQL記述はどのようになりますか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

たぶん、#1のSQLはエラーになると思うんですよね。(確信が無いんですが・・) update table1 set 重複フラグ=1 where (性別,年齢) in (select 性別,年齢 from table1 group by 性別,年齢 having count(*)>1) ; で良いと思います。

geso775
質問者

お礼

k_o_r_o_c_h_a_n様、いつもお世話になります。 ご教示のSQLを元に対応できました。有難う御座いました。

その他の回答 (1)

回答No.1

未確認ですが、多分こんな感じです。 UPDATE TABLE1 SET 重複フラグ = 1 WHERE EXISTS (SELECT * FROM TABLE1 b TABLE1.性別 = b.性別 AND TABLE1.年齢 = b.年齢 GROUP BY 性別,年齢 HAVING COUNT(*) > 1)

geso775
質問者

お礼

参考になりました。有難う御座いました。

関連するQ&A