Access VBA質問箱 IV

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

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


787 / 9994 ←次へ | 前へ→

【12516】Re:クエリの抽出条件について
回答  かるびの  - 14/4/23(水) 0:55 -

引用なし
パスワード
    いくつか疑問点があります。
 テーブルAとテーブルBの各主キーは、何なのでしょうか。
 テーブルAのカメとウサギの各レコードの色フィールドの値は、Nullですか、
それとも長さ0の文字列ですか。
 テーブルBのカメとウサギの各レコードの色フィールドの値は、Nullですか、
それとも長さ0の文字列ですか。

 これらの質問がヒントになると思うのですが、念のため、補足しておきます。 

 最もデータベースらしい解決は、
テーブルBに主キー(例えば商品ID)を持たせ、
テーブルAの商品名フィールドと色フィールドは削除して、
テーブルAに外部キーとして商品IDフィールドを設け、
テーブルAの商品IDフィールドとテーブルBの商品IDフィールドを結合フィールドとする
という方法です。
 
 商品名と色の各フィールドを2つのテーブルに持つのは、
データベースにおける一事実一箇所の原則に反します。


 他の方法としては、
 両テーブルの色フィールドについて「何も入らない」を
長さ0の文字列で表現するという方法があり得ます。
 Null値同士は紐付けできないのですが、長さ0の文字列であれば紐付け可能です。

 さらに別の方法として、
色フィールドについて「何も入らない」をNullで示すことを前提とするなら、
結合条件を
   Nz(テーブルA.色,"") = Nz(テーブルB.色,"")
とするという方法も考えられます。
なお、このクエリは、クエリのデザインビューでは作れません。
SQLビューで作る必要があります。
また、結合条件の中でNz関数を使うので、速度的に不利です。

256 hits

【12515】クエリの抽出条件について イルカ 14/4/22(火) 18:20 質問[未読]
【12516】Re:クエリの抽出条件について かるびの 14/4/23(水) 0:55 回答[未読]
【12517】Re:クエリの抽出条件について いるか 14/4/23(水) 12:14 発言[未読]
【12525】Re:クエリの抽出条件について かるびの 14/4/25(金) 1:16 回答[未読]
【12527】Re:クエリの抽出条件について イルカ 14/4/25(金) 23:18 発言[未読]
【12518】Re:クエリの抽出条件について かるびの 14/4/24(木) 2:46 回答[未読]
【12519】Re:クエリの抽出条件について イルカ 14/4/24(木) 10:22 お礼[未読]
【12521】Re:クエリの抽出条件について イルカ 14/4/24(木) 12:31 発言[未読]
【12523】Re:クエリの抽出条件について イルカ 14/4/24(木) 23:32 発言[未読]
【12528】Re:クエリの抽出条件について かるびの 14/4/26(土) 0:44 回答[未読]
【12530】Re:クエリの抽出条件について イルカ 14/4/27(日) 0:24 質問[未読]
【12531】Re:クエリの抽出条件について かるびの 14/4/27(日) 2:35 回答[未読]
【12532】Re:クエリの抽出条件について イルカ 14/4/28(月) 22:09 お礼[未読]

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