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

mysql:10184

From: "Takashi Yamashita" <"Takashi Yamashita" <takasi@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 21:53:37 +0900
Subject: [mysql 10184] Re: replace()関数の処理

お世話になっております。
ご回答ありがとうございます。>宇野 様

> 山下さんが書かれたreplace〜select文を実行すると、
> selectのところでできる結果セットはこうです。
> id      ( join結果: id field_n field_from field_to )
> -- ---- (           -- ------- ---------- -------- )
> 1  aBaB (           1  ABAB    A          a        )
> 1  AbAb (           1  ABAB    B          b        )
> 2  bCDE (           2  BCDE    B          b        )

> これを使ってreplaceするのですから、置換結果はこんな感じ。
> id field_n
> -- -------
> 1  aBaB    ←Aの置き換えとBの置き換えを一発で合成はできない
> 2  bCDE

> 全レコードを見てはいるわけです。

現象を確認しました。
そういうことでしたか。。。

クエリが実行される際にまず、
1  aBaB (           1  ABAB    A          a        )
というselectクエリ結果に基づいてreplaceクエリが実行され、
tbl_aが書き換えられた後に、
再びselectクエリが実行され、
1  abab (           1  aBaB    B          b        )
その結果に基づいてreplaceクエリが実行される事を、
自分は期待していました。

しかし、実際は2番目以降のselectクエリの結果が無視され、
最初のselectクエリの結果だけしかreplaceクエリに渡されなかったようです。

それでは、2番目以降のselectクエリの結果が無視されないように、
replaceクエリを組む方法はありますでしょうか?
方法がない、というご回答でも構いませんので、
どなたか教えて下さい。

宜しくお願いします。

-------------------------------------------------------------
山下高司
takasi@xxxxxxxxxx




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

     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" ]