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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

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

Q&A

1回答

786閲覧

sqlをご教示ください

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

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

0グッド

0クリップ

投稿2021/10/06 05:42

前提・実現したいこと

SQL初心者で勉強中です。
以下のテーブルにおいて欲しい表を得るSQLを知りたく、ご教示をお願いいたします

該当テーブル構造

ユーザーテーブル

user_idname
1山田太郎
2佐藤二郎

ステータステーブル

status_idname
1問い合わせ
2資料請求
3失注
4成約

中間テーブル

user_idstatus_idamount
114
127
1312
215
232
244

欲しい表

|ユーザー|問い合わせ|資料請求|失注|成約|
|:--|:--:|--:|--:|
|山田太郎|4|7|12|0|
|佐藤二郎|5|0|2|4|

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

ここにより詳細な情報を記載してください。
MySQL5.7

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

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

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

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

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

m.ts10806

2021/10/06 06:06

タイトルは要件を記載してください。なるべく具体的な、起きてる問題とか解決したいことなど。
gentaro

2021/10/06 09:00 編集

適切にググりゃやり方はすぐに見つかると思うけど、どういう調べ方してんだろ。 家庭教師がほしいならそういうサービスも探せばあるんで、お金払って教えてもらおう。
guest

回答1

0

退会しちゃったっぽいので備忘録

SQL

1create table user(user_id int primary key,name varchar(10)); 2insert into user values 3(1,'山田太郎'), 4(2,'佐藤二郎'); 5 6create table status(status_id int primary key,name varchar(10)); 7insert into status values 8(1,'問い合わせ'), 9(2,'資料請求'), 10(3,'失注'), 11(4,'成約'); 12 13create table user_status(user_id int,status_id int,amount int,unique key(user_id,status_id)); 14insert into user_status values 15(1,1,4), 16(1,2,7), 17(1,3,12), 18(2,1,5), 19(2,3,2), 20(2,4,4); 21 22select t2.name as ユーザー, 23問い合わせ, 24資料請求, 25失注, 26成約 27from (select user_id 28,sum((status_id=1)*amount) as 問い合わせ 29,sum((status_id=2)*amount) as 資料請求 30,sum((status_id=3)*amount) as 失注 31,sum((status_id=4)*amount) as 成約 32from user_status 33group by user_id 34) as t1 35inner join user as t2 using(user_id)

投稿2021/10/07 03:08

yambejp

総合スコア115012

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問