レポートにて1件のレコードを複数レコードとして表示。したいです。
マスタというテーブルに時間1・結果1・時間2・結果2・時間3・結果3という項目があり、
これをクエリにて別々のレコードとしてレポートに表示したいのです。時間1・時間2・時間3すべて入っているものは3件として
時間1・結果1
時間2・結果2
時間3・結果3
時間1・時間2のみ入っているものは2件として。
ユニオンクエリというのを使うと出来そうですが、よく分かりません。
SQLビューにどのように書けばよろしいでしょうか?
テーブルの構成は今から直すことは出来ない状態で…。
No.1ベストアンサー
- 回答日時:
ご推測の通り、ユニオンクエリで対応できます。
基本的には、各レコードに対応する選択クエリに相当するSQL文を、
「Union」で結合するだけですので、覚えてしまえばそれほど
難しくはないかと思います。
1)値が重複するデータがひとつに集約されてよい場合:
Select マスタ.時間1 As 時間, マスタ.結果1 As 結果 From マスタ
Union
Select マスタ.時間2 As 時間, マスタ.結果2 As 結果 From マスタ
Union
Select マスタ.時間3 As 時間, マスタ.結果3 As 結果 From マスタ;
※「Union」の後の改行は、クエリを閉じると自動で削除されます。
※わかりやすさ優先(のつもり)で3つのSelect文の体裁を揃えましたが、
実際には2行目以降の「As 時間」「As 結果」は無視されます。
2)値が重複するデータも集約せずに表示する場合:
Select マスタ.時間1 As 時間, マスタ.結果1 As 結果 From マスタ
Union All
Select マスタ.時間2 As 時間, マスタ.結果2 As 結果 From マスタ
Union All
Select マスタ.時間3 As 時間, マスタ.結果3 As 結果 From マスタ;
3)「マスタ」テーブルにレコードを特定できる「ID」などがあって、
それを同時に出力する場合:
Select マスタ.ID As ID, マスタ.時間1 As 時間, マスタ.結果1 As 結果 From マスタ
Union
Select マスタ.ID As ID, マスタ.時間2 As 時間, マスタ.結果2 As 結果 From マスタ
Union
Select マスタ.ID As ID, マスタ.時間3 As 時間, マスタ.結果3 As 結果 From マスタ
・・・以上です。
なお、これらのユニオンクエリを基にしてテーブル作成クエリを組むことも可能ですので、
あわせて参考までに。
この回答への補足
ありがとうございます。
As 時間 の部分は任意でつけてよいのですよね?
クエリ式 マスタ.時間1 as 時間の構文エラー:演算子がありませんとでます(>_<)
No.2
- 回答日時:
No.1です。
> As 時間 の部分は任意でつけてよいのですよね?
はい、基本的には大丈夫です。
(但し、「+(半角プラス)」単独など、一部の文字は使用すると
エラーになるので、完全に任意というわけではありません)
> 演算子がありませんとでます(>_<)
どういうふうにしたときにそのエラーが出るか、あたりをつけて
確認したところ、「As」の前後のスペースのどちらか一方でも
全角にしてしまうと、Asが演算子としてではなく、前後と連続した
文字列としてして認識されてしまい、ご質問のエラーとなることが
わかりました。
ですので、全角スペースを半角スペースに修正していただけば、
ご質問のエラーは出なくなると思います。
また、補足欄の文を見ると、「マスタ」の後のピリオドも全角
となっているようなので、こちらも半角にしておいて下さい。
(このままだと「マスタ.時間1」がパラメータとして要求される
ことになりますので・・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文で、合計が0のレコードを...
-
EXISTSを使ったDELETE文
-
Accessの実行時エラーについて
-
ACCESS ツリービューの作り方
-
ACCESS 商品毎の最新の単価を設...
-
異なるデータベース間のテーブ...
-
前月の取得について
-
差し込み後、元データを変更し...
-
止まなーい雨はない でもお前に...
-
エクセルVBAコードで教えて下さ...
-
フィルターかけた後、重複を除...
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
-
エクセルで最後の文字だけ置き...
-
for whichの使い方
-
datetime型でNULL値を入れたい。
-
SQL Date型の列から年月だけを...
-
カーソル0件の時にエラーを発生...
-
列のヘッダーを含めるのをデフ...
-
SQLによる"あいうえお"順でソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文で、合計が0のレコードを...
-
EXISTSを使ったDELETE文
-
Accessの実行時エラーについて
-
ACCESS ツリービューの作り方
-
日付により変動する「単価」を...
-
前月の取得について
-
ACCESS 商品毎の最新の単価を設...
-
アクセス★非課税、課税の合計金...
-
AS400にてサブファイルレコード...
-
アクセス フィールド名に変数...
-
ユニオンクエリ?レポートにて...
-
ACCESSでクエリ作成時複数のフ...
-
Access2013で商品に複数の単価...
-
アクセスにて月末日付を取得し...
-
異なるデータベース間のテーブ...
-
AccessVBA データのエクスポート
-
フィールドの数値を四捨五入の...
-
FROM句にサブクエリ使えませんか
-
最大値を含むレコードの抽出
-
無駄に見える結合の回数を減ら...
おすすめ情報