
お世話になります。拙い文面ではありますがよろしくお願いいたします。
Vista ACCESS2010を使用しています。
下記SQLで2個のテーブルを外部結合していますが、テーブルの一方で結合で使用しているフィールドの桁が変更になり、テキスト型のフィールドを0埋めして外部結合しようとしています。フィールドを関数で桁揃えして結合キーとして使用することはできないものでしょうか。
---売上金額----------
対象月 テキスト型
商品ID テキスト型
商品名 テキスト型
支店CD テキスト型
金額 通貨型
支店CD 3ケタ→5ケタへ変更
---支店マスタ--------
支店CD テキスト型
支店名 テキスト型
支店ソート番号 数値型
支店CD 3ケタ・・・売上金額の支店CD変更に伴い、Format等で5ケタへ変更したい
---変更前-----
SELECT a.商品ID,a.商品名,a.支店CD,b.支店名,b.支店ソート番号,a.金額
FROM 売上金額 a LEFT JOIN 支店マスタ b
ON a.支店CD = b.支店CD
WHERE a.対象月 >=#2013/04/01# AND a.対象月 <=#2013/07/31#
GROUP BY a.商品ID,a.商品名,a.支店CD,b.支店名,b.支店ソート番号,a.金額
---以下へ変更---
SELECT a.商品ID,a.商品名,Format([支店CD],"00000"),a.支店名,支店ソート番号,a.金額
FROM 売上金額 a LEFT JOIN 支店マスタ b
ON a.支店CD = b.支店CD
WHERE a.対象月 >=#2013/04/01# AND a.対象月<=#2013/07/31#
GROUP BY a.商品ID,a.商品名,Format([支店CD],"00000"),a.支店名,b.支店ソート番号,a.金額
変更後の ON以下を次のように変更するとJOINでサポートされていませんのエラーとなります。
ON Format([a.支店CD],"00000") = b.支店名
都合上フィールドとテーブル名は変更していますがそれ以外は変わりません。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
最も簡単な対応は、[支店マスタークエリ]を作成されることです。
そのクエリで、列[新支店CD]を生成されると目的は達成されます。※本来は、支店コードという可変なデータ列ではなく長整数の一意な数字を主キーに。もちろん、列[支店コード]はあっても構いません。が、それは、あくまでも表のデータ。リレーションを内部管理するキーとしては不適です。
ご回答ありがとうございます。おっしゃられる通り新支店CDクエリを作成し、最小限の変更ですみました。ありがとうございます。ご指摘の通り「長整数の一意名数」での支店コードが存在していたのでこれを基に「支店コード」を作成するようにしていく予定です。リレーションを内部管理するとしては確かに不適ですね。リレーションの理解が浅かったことからマスタとしてはよくない作りになっていたのですね。ご指摘、ご教授ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
降順で並び替えて昇順で受け取...
-
sqlplusで表示が変なので、出力...
-
AccessのSQL 部分一致したデー...
-
テーブルで一番古いレコードだ...
-
Oracleで上書きImportはできま...
-
「テーブルに座って……」という...
-
SELECT 文の NULL列は?
-
SQLでSUMなどの関数でデータが...
-
テーブルに存在しない列をselec...
-
Accessでデータシートに同じデ...
-
SQLで複数列のデータを複数行に...
-
トリガって、自分自身のテーブ...
-
他のデータベースとのテーブル結合
-
アクセスのリンクテーブル一覧...
-
外部キーだけのテーブル(主キ...
-
SQL*LoaderでCSVから指定した列...
-
SQL、2つのテーブルで条件一致...
-
テーブルリンク リンク元を知...
-
mysqlのupdate構文についての質...
-
コンボボックスにレコードセッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
降順で並び替えて昇順で受け取...
-
SQLで漢字名称を都道府県や市区...
-
うまくいきません教えてくださ...
-
このSQLあってますか?教えてく...
-
下記の問合せを行うクエリを、P...
-
3つの表の外部結合
-
SQLです。こんな感じですか?あ...
-
列値の分割の方法
-
SQLについて教えてください。
-
現在庫算出方法についてお教え...
-
Access 出荷管理簿を作りたい...
-
SQLPLUSのGROUP BY句について
-
サブクエリを使用せずにLEFT JO...
-
ACCESS2010 SQL 結合キーにつ...
-
下記の問合せを行うクエリを、P...
-
access結合クエリを編集可能に
-
「テーブルに座って……」という...
-
AccessのSQL 部分一致したデー...
-
外部キーだけのテーブル(主キ...
-
Accessでデータシートに同じデ...
おすすめ情報