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

mysql:10173

From: "片寄白王" <"片寄白王" <katayose@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 11:07:32 +0900
Subject: [mysql 10173] Re: replace()関数の処理

片寄です。

この場合は、tbl_aとtbl_repが同順で同レコード数という事でしょうね。
2つのテーブルに結合できるITEM(項目)があれば、できそうです。
なければ、追加していただければよろしいかと。

余計なことですが、副問い合わせができたとしても、
ご提示のupdateでは無理かも。
replace関数の中のselect文では、1件抽出になることは少ないと思います。

Takashi Yamashita wrote:
> 現在、以下のような処理を実行させたいと考えております。
> update tbl_a
> set field_n=
> replace(field_n, select field_from from tbl_rep, select field_to from
> tbl_rep);
> 
> このような処理は恐らく副問い合わせに当たると思いますので、
> そのままでは実現できません。
> ですので、現状はphpと組み合わせて以下のような処理で実現しています。
> $hResult=mysql_query("select field_from, field_to from tbl_rep");
> while($row=mysql_fetch_array($hResult)) {
>     mysql_query(
>         sprintf("update tbl_a set field_n=replace(field_n,'%s','%s')",
>             $row[field_from], $row[field_to]);
> }
> mysql_free_result($hResult);
> 
> このような処理をphpによる制御を介在させず、
> テンポラリテーブル等を駆使して、
> クエリのみで完結させる事は可能でしょうか?
> 
> 教えて下さい。
> mysql:4.0.17、php:4.2.3、apache:1.3.27、vine:2.6
> です。


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

     10172 2004-09-16 10:19 ["Takashi Yamashita" ] replace()関数の処理                     
->   10173 2004-09-16 11:07 ┗["片寄白王" <katayose]                                       
     10174 2004-09-16 11:31  ┗["Takashi Yamashita" ]                                     
     10179 2004-09-16 18:06   ┣["片寄白王" <katayose]                                   
     10180 2004-09-16 19:21   ┗["Takashi Yamashita" ]                                   
     10181 2004-09-16 20:28    ┗[UNO Shintaro <uno@xx]                                 
     10184 2004-09-16 21:53     ┗["Takashi Yamashita" ]                               
     10192 2004-09-17 12:18      ┗[UNO Shintaro <uno@xx]                             
     10193 2004-09-17 13:31       ┗["Takashi Yamashita" ]