dポイントプレゼントキャンペーン実施中!

同一テーブル内のデータを参照してのUPDATEを行いたいです。
データは以下のとおりです。

ID1,ID2,Value
1,1,在校生
1,2,10期生
2,1,在校生
2,2,11期生
3,1,在校生
3,2,12期生

そして、UPDATEしたいデータは
ID1が同一で、
ID2が2でValueが「10期生」の場合に
ID1が1のValueに「卒業生」と入れたいのです。

この場合に書くべきSQLはどう書けばいいでしょうか?

A 回答 (1件)

これ、MySQL以外ではサブクエリでできるSQLがMySQLでできないからって質問ですよね?


(サブクエリを多用しなければならない設計の場合、MySQLはやりにくいと思います)
あと、「ID1が1のValueに「卒業生」と入れたいのです。 」は「ID2が1のValueに」ではないですか?
ID1は同一なはずなので。。。
まぁ、この解釈が多少間違っていても直せる範囲だと思います。

update student a, (select ID1 from student where ID2 = 2 and Value = '10期生') b
set a.Value = '卒業生'
where a.ID1 = b.ID1 and a.ID2 = 1
    • good
    • 0
この回答へのお礼

すみません、「ID2が1のValueに」でした。

そして、ありがとうございます。
上手く変更できました。

お礼日時:2012/06/27 09:31

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す