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

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

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

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

Q&A

解決済

1回答

664閲覧

SQLで異なる日付カラムを合算してSELECT

smaeda

総合スコア17

SQL

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

0グッド

0クリップ

投稿2020/08/05 04:12

環境:SQLServer2012

「テーブル1」と「テーブル2」をUNIONした後に、「注文日」と「解約日」を合算した上で、注文数と解約日のCOUNT数を取得したいのですが、そういったことは可能でしょうか?

【テーブル1】

注文ID注文日解約日商品支払方法
12020/8/12020/8/3プランA現金
12020/8/12020/8/3プランB現金
22020/8/3NULLプランCクレジット
32020/8/42020/8/5プランC現金

【テーブル2】

注文ID注文日解約日商品支払方法
52020/8/1NULLプランA現金
62020/8/12020/8/3プランB現金
72020/8/22020/8/5プランCクレジット

※テーブル1とテーブル2間で注文IDが重複することはありません。
※但し、同テーブル間で注文IDが重複することはありますが、素直に重複の数だけカウントされればOKです。

【望まれるSELECT結果】

集計日注文数解約数
2020/8/14
2020/8/21
2020/8/313
2020/8/41
2020/8/52

良い方法が思いつかなかったため、ご助言頂けますと幸いです。

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

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

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

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

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

sazi

2020/08/05 04:42 編集

ご自身で試されたSQLも追記して下さい。
m.ts10806

2020/08/05 04:44

>環境:SQLServer タグを追加してください。
guest

回答1

0

ベストアンサー

集計日をテーブル1とテーブル2から求めるなら以下のようになります。
当然カレンダーの日付通りにはなりません。

SQL

1select 集計日, sum(注文数), sum(解約数) 2from ( 3 select 注文日 as 集計日, count(*) as 注文数, 0 as 解約数 from テーブル1 group by 注文日 4 union all 5 select 解約日, 0, count(*) from テーブル1 where 解約日 is not null group by 解約日 6 union all 7 select 注文日, count(*), 0 from テーブル2 group by 注文日 8 union all 9 select 解約日, 0, count(*) from テーブル2 where 解約日 is not null group by 解約日 10 ) t1 11group by 集計日

投稿2020/08/05 05:03

編集2020/08/05 05:07
sazi

総合スコア25206

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

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

smaeda

2020/08/05 10:23

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問