mysql:6126
From: SUGAWARA Hajime <SUGAWARA Hajime <sugawara@xxxxxxxxxx>>
Date: Wed, 11 Sep 2002 17:05:44 +0900
Subject: [mysql 06126] Re: 他テーブルのデータでアップデート
菅原です。 > こういうケースは、「副問い合わせ」だと思われます。 > 以下のようなSQL文を発行するのが「筋」らしいです。 > ===================================================== > update codemaster set EDP_Code=temp.EDP > where ID=(select ID from temp); > ===================================================== > # 上の式があってるかどうかは保証の限りではありません(汗)。 副問い合わせの一種に違いないと思いますが、こういうケースはデータベース によってSQLの書き方が違うようです。 MS SQLServerでは UPDATE codemaster SET EDP_Code = temp.EDP FROM temp WHERE codemaster.ID = temp.ID のようになるらしいです。 副問い合わせなら UPDATE codemaster SET EDP_Code = ( SELECT temp.EDP FROM temp, codemaster WHERE temp.ID = codemaster.ID) になるような気がしますが、UPDATE文にWHERE句を書かなくても良いのか気にな るとこです。 まあ、MySQLはまだ副問い合わせが使えないですし(4.1で実装予定らしい)、 ドキュメントの「近い将来に完了せねばならないもの」の中に UPDATE items,month SET items.price=month.price WHERE items.id=month.id; ってのがありますんで、それまで待たなくてはいけないです(これは4.1よりさ らに後みたいですね……)。 ------ 菅原はじめ@ホビー・データ sugawara@xxxxxxxxxx
6113 2002-09-11 12:52 ["梅村繁実" <umemura@] 他テーブルのデータでアップデート 6124 2002-09-11 16:22 ┣["Takashi Yamashita" ] -> 6126 2002-09-11 17:05 ┃┣[SUGAWARA Hajime <sug] 6132 2002-09-11 23:44 ┃┃┗[とみたまさひろ <tomm] 6140 2002-09-13 22:11 ┃┃ ┗["umemura" <shigemi.u] 6141 2002-09-14 00:54 ┃┃ ┗[ふぁんく <freeml@xxx] 格納データ型について 6142 2002-09-14 01:45 ┃┃ ┣[<miffyz@xxxxxxxxxx> ] 6147 2002-09-14 21:37 ┃┃ ┃┗[<freeml@xxxxxxxxxx> ] 6144 2002-09-14 19:26 ┃┃ ┗[とみたまさひろ <tomm] 6133 2002-09-12 09:47 ┃┗["梅村繁実" <umemura@] 6134 2002-09-12 10:14 ┃ ┗["Takashi Yamashita" ] 6125 2002-09-11 17:03 ┣[遠藤 俊裕 <endo_t@xx] 6127 2002-09-11 17:11 ┃┗[遠藤 俊裕 <endo_t@xx] 6130 2002-09-11 18:02 ┗["KAWAI,Takanori" <GC]