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