Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


934 / 9994 ←次へ | 前へ→

【12366】Re:テーブル同士で値の変更
回答  かるびの  - 13/7/3(水) 1:25 -

引用なし
パスワード
   方法1 

 SELECT T1.名前
    ,IIF(IsNull(T2.変更後)=True
      ,T1.会社名
      ,T2.変更後
      ) AS 社名
 FROM 氏名 AS T1
   LEFT JOIN 会社名称変換 AS T2
   ON T1.会社名=T2.変更前

方法2

 SELECT T1.名前
    ,T1.会社名
 FROM 氏名 AS T1
   LEFT JOIN 会社名称変換 AS T2
   ON T1.会社名=T2.変更前
 WHERE T2.変更後 Is Null
 UNION ALL
 SELECT T3.名前
    ,T4.変更後
 FROM 氏名 AS T3
   INNER JOIN 会社名称変換 AS T4
   ON T3.会社名=T4.変更前

 でも、どっちの方が速いんだろうか。
 方法1だと、IIF関数を使う点で遅そうだし、
方法2だと、抽出条件で Is Null を使う点で遅くなりそうだし、
また、ユニオンクエリだという点で時間が余計にかかりそうだし。


 なお、従来の氏名テーブルを分けて、
   「名前」テーブル
      名前ID  長整数型又はオートナンバー型(主キー)
      名前   テキスト型
      会社ID  長整数型
   「会社名」テーブル
      会社ID  長整数型又はオートナンバー型(主キー)
      会社名  テキスト型
というテーブル構成にした方がデータベース的です。
 会社名の変更があった場合も、
「会社名」テーブルの「会社名」フィールドの値を書き替えれば済むので、
対応しやすくなります。

192 hits

【12365】テーブル同士で値の変更 ナナパパ 13/7/2(火) 20:12 質問[未読]
【12366】Re:テーブル同士で値の変更 かるびの 13/7/3(水) 1:25 回答[未読]
【12367】Re:テーブル同士で値の変更 ナナパパ 13/7/3(水) 18:24 質問[未読]
【12368】Re:テーブル同士で値の変更 かるびの 13/7/4(木) 2:16 回答[未読]
【12369】Re:テーブル同士で値の変更 ナナパパ 13/7/4(木) 11:13 質問[未読]
【12370】Re:テーブル同士で値の変更 ナナパパ 13/7/4(木) 11:49 質問[未読]
【12371】Re:テーブル同士で値の変更 ナナパパ 13/7/4(木) 14:24 お礼[未読]
【12372】Re:テーブル同士で値の変更 ナナパパ 13/7/4(木) 17:36 質問[未読]
【12373】Re:テーブル同士で値の変更 かるびの 13/7/4(木) 20:45 回答[未読]
【12374】Re:テーブル同士で値の変更 ナナパパ 13/7/4(木) 21:23 質問[未読]
【12380】Re:テーブル同士で値の変更 かるびの 13/7/7(日) 15:49 回答[未読]
【12382】Re:テーブル同士で値の変更 ナナパパ 13/7/9(火) 9:39 質問[未読]
【12385】Re:テーブル同士で値の変更 ナナパパ 13/7/9(火) 21:02 質問[未読]
【12386】Re:テーブル同士で値の変更 かるびの 13/7/10(水) 1:25 回答[未読]
【12388】Re:テーブル同士で値の変更 ナナパパ 13/7/11(木) 17:46 質問[未読]
【12389】Re:テーブル同士で値の変更 かるびの 13/7/12(金) 1:42 回答[未読]
【12390】Re:テーブル同士で値の変更 ナナパパ 13/7/12(金) 9:41 質問[未読]
【12391】Re:テーブル同士で値の変更 かるびの 13/7/16(火) 3:25 回答[未読]
【12397】Re:テーブル同士で値の変更 ナナパパ 13/7/19(金) 18:41 質問[未読]
【12398】Re:テーブル同士で値の変更 かるびの 13/7/20(土) 2:48 回答[未読]
【12399】Re:テーブル同士で値の変更 かるびの 13/7/21(日) 14:26 回答[未読]

934 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free