[前][次][番号順一覧][スレッド一覧]

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]