質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

466閲覧

Accessクエリの複数レコード作成について

tailtera22

総合スコア3

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2020/09/17 08:08

前提・実現したいこと

すみません。初心者です。
元々が1行のレコードを、テーブル作成クエリで2行にして分けて出力したいのですが、やり方が分かりません。

テーブル
商品ID 商品価格 手数料

この3フィールドがあったとして、手数料がある場合だけ2行にして、手数料を2行目に持ってくる、という感じです。
説明が下手ですみません。

イメージとしては、こんな感じです↓

商品ID 商品名 商品価格 手数料   →  商品ID  商品名  単価  0001  シャツ 3000   330   →   0001  シャツ   3000 0002  靴   5000   0    →   0001   送料   330                   → 0002 靴 5000

試したこと

商品名のところを、iif([手数料]>0,'送料',[手数料])という感じにしたのですが
これだと書き換わってしまうので、2行にはできませんでした。

検索してみたのですが、検索の仕方が下手すぎるのか、全然似たような情報にたどり着けませんでした。
2行にすること自体、無理な感じでしょうか?

よろしくお願いします!

補足情報(FW/ツールのバージョンなど)

Access2013

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ユニオンクエリですね。SQLビューに下記のように記述してください。

sql

1SELECT 商品ID, 商品名, 商品価格 AS 商品単価, 1 As Ord 2FROM テーブル名 3UNION ALL 4SELECT 商品ID, "送料", 商品価格, 2 5FROM テーブル名 6WHERE 手数料 > 0 7ORDER BY 商品ID, Ord;

テーブルが必要ならこれをテーブル作成クエリにすればいいですが、
このクエリで希望の結果は得られるので、テーブルにする必要はないと思います。

もし、最終目的が印刷出力なら、レポートでできますので、ユニオンクエリ自体も不要です。

投稿2020/09/17 08:27

編集2020/09/17 09:49
hatena19

総合スコア33790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tailtera22

2020/09/17 09:19

hatena19様 はあーすごいです!できました! ありがとうございます。 ユニオンクエリという名前だけは知っていたのですが このような場面に使うのですね! 一部、商品単価と手数料に訂正がありましたので 以下のようにしました。 SELECT 商品ID, 商品名, 商品価格 AS 商品単価 FROM テーブル名 UNION ALL SELECT 商品ID, "送料", 手数料 FROM テーブル名 WHERE 手数料 > 0 ORDER BY 商品ID; ちなみに、送料を下に持ってきたいのですが、 ORDER BY で商品IDとしていても、送料が上に来るようです。 新たにフィールドを設けるしかないでしょうか?
hatena19

2020/09/17 09:48

クエリでフィールドを追加してそれを ORDER BY に追加すればいいでしょう。 回答のSQLを修正しておきます。
tailtera22

2020/09/17 23:52

hatena19様 素晴らしいです! オートナンバーだと無理があるしどうしようかと思っていたところでした。 今回お聞きしたおかげでユニオンクエリやORDER BY など色々な貴重な情報が得られました。 このような質問の場があることや 善意でお答えしてくれる回答者様がいらっしゃることを心から感謝します! 今回は本当にありがとうございました!
radames1000

2020/09/18 05:43

tailtera22さん この回答で質問が解決したようでしたらベストアンサーにしていただいて、 解決済にしてくださいね。
tailtera22

2020/09/18 06:39

あ!すみません! 既にベストアンサーにしていたつもりでした! わざわざ教えていただき、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問