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

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

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

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Access

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

1087閲覧

【SQL】2つのテーブルから日付の条件に合うデータのみを取得したいです。

player31

総合スコア21

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Access

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2020/11/18 12:29

SQLを使い、下記の2つのテーブルから条件に合うデータのみを取得したいです。
具体的には、Table1から日時のデータを取得し、そのデータを条件にTable2から該当するデータの値の合計を算出したいと思っています。

●やりたいこと
Table1の’testdate’と’id’のペアをキーにして、’Start’と’finish’の日時を取得し、
その日時の間に含まれるTable2の’dodate’の’score’の合計を求めたいです。

Table1

testdateidStartfinish
2010/5/10A2010/5/10 12:102010/5/10 15:10
2011/6/10B2011/6/10 13:002011/6/10 18:10
2011/6/10B2011/6/10 21:002011/6/10 23:00
2011/10/10C2011/10/10 9:102011/10/10 17:10
2011/10/15C2011/10/15 9:102011/10/15 17:10

Table2

dodateidscore
2010/5/10 13:10A2
2010/5/10 14:10A3
2010/5/10 16:10A2
2011/6/10 14:00B3
2011/6/10 19:00B1
2011/6/10 22:00B2
2011/10/10 10:10C4
2011/10/10 11:10C2
2011/10/15 10:10C4

出力したい結果

testdateidgouke
2010/5/10A5
2011/6/10B5
2011/10/10C6
2011/10/15C4

SQL

1select testdate , id , SUM(score) as gouke from table1 , table2 234

説明がわかりづらくなってしまい申し訳ございません。
どなたかわかる方がいらっしゃいましたら、教えていただきたいです。
どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Access SQL なら、下記で希望の結果になります。

sql

1SELECT 2 Table1.testdate, 3 Table1.id, 4 Sum(Table2.score) AS gouke 5FROM 6 Table1 INNER JOIN Table2 ON Table1.id = Table2.id 7WHERE 8 Table2.dodae Between Table1.Start And Table1.finish 9GROUP BY 10 Table1.testdate, 11 Table1.id;

投稿2020/11/18 12:51

編集2020/11/18 12:52
hatena19

総合スコア33620

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

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

player31

2020/11/18 13:49

Accessでやりたかったので、わかりやすい回答を頂けて助かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問