プロが教えるわが家の防犯対策術!

お世話になります。
もう一つ質問させてください。

名前、性別、年齢
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記述はどのようになりますか?
宜しくお願い致します。

A 回答 (2件)

たぶん、#1のSQLはエラーになると思うんですよね。

(確信が無いんですが・・)

update table1 set 重複フラグ=1
where
(性別,年齢)
in
(select 性別,年齢 from table1 group by 性別,年齢 having count(*)>1)
;

で良いと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/11/22 14:12

未確認ですが、多分こんな感じです。



UPDATE TABLE1
SET 重複フラグ = 1
WHERE
EXISTS
(SELECT * FROM TABLE1 b
TABLE1.性別 = b.性別
AND TABLE1.年齢 = b.年齢
GROUP BY
性別,年齢
HAVING
COUNT(*) > 1)
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/11/22 14:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!