Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル別テーブルを参照して置換えるには
記事No10839
投稿日: 2016/11/29(Tue) 00:17
投稿者papara
解決済: ON
OS:win7
Access Version:2007

お世話になります
SQL文の置換えでどうしても解らない点があります
置換え予約テーブルを参照して管理簿テーブルの東西南北の値を変更させたいのですが
どの様なSQL文を組めばいいのでしょうか?

置換え予約テーブル--------------------------
ID 住所置換え対象 置換え後
1 大阪府一郎町 西側
2 大阪府二郎町 西側
3 大阪府三郎町 東側
4 大阪府四郎町 南側


管理簿テーブル-----------------------------
ID フィールド1 東西南北
1 大阪府一郎町目1-1 東側
2 大阪府二郎町目2-2 東側
3 大阪府三郎町目3-3 東側
4 大阪府四郎町4-4 東側
5 大阪府五郎町5-5 北側
6 大阪府六郎町6-6 北側
7 大阪府七郎町6-6 北西側

【更新後の】管理簿テーブル----------------------
ID フィールド1 東西南北
1 大阪府一郎町目1-1 西側
2 大阪府二郎町目2-2 西側
3 大阪府三郎町目3-3 東側
4 大阪府四郎町4-4 南側
5 大阪府五郎町5-5 北側
6 大阪府六郎町6-6 北側
7 大阪府七郎町6-6 北西側

管理簿テーブルには1000件くらいあり住所置換え対象にたいしてあいまい一致すれば置き換え後を管理簿テーブルの東西南北に置き換えるにはどのようにすれば良いでしょうか?
ご教授よろしくお願いいたします。

タイトルRe: 別テーブルを参照して置換えるには
記事No10840
投稿日: 2016/11/29(Tue) 22:50
投稿者mayu
解決済: ON
こんばんは。

> どの様なSQL文を組めばいいのでしょうか?

例えば。
-------------------------------------------------------------

UPDATE 管理簿テーブル     t1
     , 置換え予約テーブル t2
SET t1.東西南北 = t2.置換え後
WHERE InStr( 1, t1.フィールド1, t2.住所置換え対象, 0 ) > 0 ;

-------------------------------------------------------------

なお、{ 置換え予約テーブル }の
{ 住所置換え対象 }フィールドの値が
必ず都道府県名から入力されている のでしたら
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WHERE句の
  > 0 
は 
  = 1
でいいと思います。

  では ☆

タイトルRe^2: 別テーブルを参照して置換えるには
記事No10841
投稿日: 2016/11/30(Wed) 20:18
投稿者papara
解決済: ON
> こんばんは。
>
> > どの様なSQL文を組めばいいのでしょうか?
>
> 例えば。
> -------------------------------------------------------------
>
> UPDATE 管理簿テーブル t1
> , 置換え予約テーブル t2
> SET t1.東西南北 = t2.置換え後
> WHERE InStr( 1, t1.フィールド1, t2.住所置換え対象, 0 ) > 0 ;
>
> -------------------------------------------------------------
>
> なお、{ 置換え予約テーブル }の
> { 住所置換え対象 }フィールドの値が
> 必ず都道府県名から入力されている のでしたら
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> WHERE句の
>   > 0
> は
>   = 1
> でいいと思います。
>
>   では ☆
早速のお返事有難う御座います
思ったように動いてくれました。
有難う御座います大変助かりました

伝言板違いですが
sqlserverでの文法はどの様にすれば良いでしょうか?
お返事頂ければ幸いです。

タイトルRe^3: 別テーブルを参照して置換えるには
記事No10842
投稿日: 2016/11/30(Wed) 21:55
投稿者mayu
解決済: ON
> sqlserverでの文法はどの様にすれば良いでしょうか?

T-SQLなら、こんな感じですね。
---------------------------------------------------------

UPDATE x
SET x.東西南北 = y.置換え後
FROM 管理簿テーブル     x
   , 置換え予約テーブル y
WHERE CharIndex( y.住所置換え対象, x.フィールド1 ) > 0 ;

---------------------------------------------------------

  では ☆

タイトルRe^4: 別テーブルを参照して置換えるには
記事No10844
投稿日: 2016/12/10(Sat) 18:12
投稿者papara
解決済: ON
>
> > sqlserverでの文法はどの様にすれば良いでしょうか?
>
> T-SQLなら、こんな感じですね。
> ---------------------------------------------------------
>
> UPDATE x
> SET x.東西南北 = y.置換え後
> FROM 管理簿テーブル x
> , 置換え予約テーブル y
> WHERE CharIndex( y.住所置換え対象, x.フィールド1 ) > 0 ;
>
> ---------------------------------------------------------
>
>   では ☆


ありがとう御座いましす
思い通りに解決致しました。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る