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

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

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

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

Q&A

解決済

3回答

737閲覧

三つのテーブルの結合を行い 情報を抽出

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

0グッド

0クリップ

投稿2018/11/07 07:40

編集2018/11/07 08:27

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Mysqlでデータベースから情報を抽出することができるように学んでいます
構文エラーの内容でsqlの記述に誤りがあるのでエラーが起きています
どのように、記述するのかわかりやすい考え方などあれば、教えてください

発生している問題・エラーメッセージ

構文エラー
`ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%”' at line 1
エラーメッセージ

該当のソースコード

Mysql

Select 購入履歴.顧客ID,名前,商品名,数量*価格 as 価格 from 購入履歴 join 顧客情報 on 購入履歴.顧客ID = 顧客情報.顧客ID join 商品情報 on 購入履歴 where 名前 like “Aさん%” ; ソースコード

試したこと

ネット検索、参考書などで内容に近い記事の閲覧

Joinで結合の記述が間違えているのか、検索条件を指定しても
うまく 表示されません

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

最終的な出力イメージ

顧客ID 名前 商品名 価格
1 Aさん iPhone5s 3500

購入履歴、顧客情報、商品情報を結合
Aさんが購入したものを表示させる
表示させるものは、
顧客IDと名前と商品名と価格を抽出
また、数量と価格をかけた数を価格という名前で表示させる。

insertで作った三つのテーブル↓

mysql> select * from 購入履歴;
+----------+----------+----------+--------+
| 購入ID | 顧客ID | 商品ID | 数量 |
+----------+----------+----------+--------+
| 1 | 3 | 9 | 3 |
| 2 | 1 | 4 | 5 |
| 3 | 5 | 8 | 10 |
| 4 | 2 | 4 | 2 |
| 5 | 4 | 6 | 8 |
+----------+----------+----------+--------+
5 rows in set (0.00 sec)

mysql> select * from 顧客情報;
+----------+---------+--------+--------+-----------+--------------+----------------+
| 顧客ID | 名前 | 年齢 | 性別 | メール | 住所1 | 住所2 |
+----------+---------+--------+--------+-----------+--------------+----------------+
| 1 | Aさん | 23 | 男性 | a@hri.com | 東京都 | 江東区1-1-1 |
| 2 | Bさん | 18 | 男性 | b@hri.com | 神奈川県 | 横浜市2-3-5 |
| 3 | Cさん | 47 | 女性 | c@hri.com | 山口県 | 防府市1-2-3 |
| 4 | Dさん | 13 | 女性 | d@hri.com | 埼玉県 | 秩父市5-1-2 |
| 5 | Eさん | 38 | 女性 | e@hri.com | 大阪府 | 大阪市1-7-3 |
+----------+---------+--------+--------+-----------+--------------+----------------+
5 rows in set (0.00 sec)

mysql> select * from 商品情報;
+----------+-----------+----------+--------+
| 商品ID | 商品名 | 価格 | 重さ |
+----------+-----------+----------+--------+
| 1 | iPhone4 | 100円 | 11kg |
| 2 | iPhone4s | 300円 | 23kg |
| 3 | iPhone5 | 500円 | 12kg |
| 4 | iPhone5s | 700円 | 46kg |
| 5 | iPhone6 | 10円 | 95kg |
| 6 | iPhone6s | 35円 | 22kg |
| 7 | iPhone7 | 900円 | 54kg |
| 8 | iPhone7s | 1000円 | 88kg |
| 9 | iPhone8 | 1200円 | 34kg |
| 10 | iPhone8s | 500円 | 78kg |
| 11 | iPhoneX | 10000円 | 45kg |
+----------+-----------+----------+--------+
11 rows in set (0.00 sec)

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

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

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

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

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

mather

2018/11/07 07:45

エラーメッセージをちゃんと読んで、何が問題であるとわかった上で、どうすればいいのかを聞いてください。このままでは丸投げです。
m.ts10806

2018/11/07 08:00

質問は編集できるので適宜ご対応ください
退会済みユーザー

退会済みユーザー

2018/11/07 08:13

かしこまりました。ありがとうございます修正いたします。
guest

回答3

0

“Aさん%”

とりあえずエンクロージャーがおかしい

SQL

1'Aさん%'

投稿2018/11/07 07:50

yambejp

総合スコア114747

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

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

0

ベストアンサー

SQL

1Select 購入履歴.顧客ID, 顧客情報.名前, 商品情報.商品名, 商品情報.価格*購入履歴.数量 as 価格 2from 購入履歴 inner join 顧客情報 on 購入履歴.顧客ID=顧客情報.顧客ID 3 inner join 商品情報 on 購入履歴.商品ID=商品情報.商品ID 4where 顧客情報.名前='Aさん'

※商品情報の価格は数値である前提

投稿2018/11/07 08:05

編集2018/11/07 08:45
sazi

総合スコア25173

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

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

退会済みユーザー

退会済みユーザー

2018/11/09 09:18

saziさんありがとうございます うまく行きました!
guest

0

join 商品情報 on 購入履歴

パッと見たところで、この部分でjoinできてなさそうです。

投稿2018/11/07 07:55

dice142

総合スコア5158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問