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

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

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

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

Q&A

解決済

1回答

1495閲覧

My SQL ERROR 1054 (42S22): Unknown column '○○' in 'field list'

haru.kawa

総合スコア4

MySQL

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

0グッド

0クリップ

投稿2023/05/17 10:23

編集2023/05/17 12:23

実現したいこと

SELECT文を作成する

前提

ここに質問の内容を詳しく書いてください。
以下のテーブルで、「name」を「ユーザー名」に変更させ、あらゆるテーブルを結合させたものを表示させたいです。
ソースコードを打ち込んだところ、Unknown column 'users.name' in 'field list'というメッセージが出ます。しかし、usersテーブルにnameがあることは確認しています(SELECT*FROM usersで確認済)
なぜこのエラーが発生するのでしょうか。

●usersテーブル

+---------+----------+----------+------+--------+ | user_id | name | password | age | is_del | +---------+----------+----------+------+--------+ | 1 | 三浦知一 | KfCQDjiZ | 53 | 0 | | 2 | 遠藤保 | V3mngzMP | 40 | 0 | | 3 | 柴崎学 | XktKCvCx | 27 | 0 | | 4 | 本田啓介 | bSCebKnP | 33 | 0 | | 5 | 花川真司 | xKetmAcH | 30 | 0 | | 6 | 三浦知一 | KfCQDjiZ | 53 | 0 | | 7 | 遠藤保 | V3mngzMP | 40 | 0 | | 8 | 柴崎学 | XktKCvCx | 27 | 0 | | 9 | 本田啓介 | bSCebKnP | 33 | 0 | | 10 | 花川真司 | xKetmAcH | 30 | 0 | +---------+----------+----------+------+--------+

●order_itemsテーブル

+----------+---------+----------+ | order_id | item_id | quantity | +----------+---------+----------+ | 1 | 2 | 1 | | 1 | 6 | 10 | | 1 | 7 | 1 | | 1 | 11 | 10 | | 2 | 4 | 1 | | 3 | 9 | 1 | | 4 | 7 | 1 | | 4 | 8 | 1 | | 5 | 2 | 7 | | 5 | 3 | 5 | | 5 | 5 | 1 | | 5 | 7 | 1 | | 5 | 10 | 1 | | 5 | 11 | 5 | | 6 | 8 | 10 | | 7 | 4 | 2 | | 8 | 1 | 1 | | 8 | 9 | 1 | | 9 | 3 | 4 | | 9 | 5 | 2 | | 9 | 8 | 10 | | 10 | 1 | 2 | | 10 | 10 | 2 | +----------+---------+----------+

●ordersテーブル

+----------+---------+---------------------+--------+ | order_id | user_id | order_time | is_del | +----------+---------+---------------------+--------+ | 1 | 1 | 2015-02-22 12:00:00 | 0 | | 2 | 4 | 2015-12-01 15:30:00 | 0 | | 3 | 3 | 2018-03-20 18:45:00 | 0 | | 4 | 2 | 2018-05-11 11:28:00 | 0 | | 5 | 5 | 2018-09-30 10:50:00 | 0 | | 6 | 1 | 2018-09-12 20:13:00 | 0 | | 7 | 4 | 2018-09-15 21:34:00 | 0 | | 8 | 1 | 2019-05-06 16:00:00 | 0 | | 9 | 3 | 2019-12-20 10:39:00 | 0 | | 10 | 2 | 2020-01-01 14:11:00 | 0 | | 11 | 1 | 2015-02-22 12:00:00 | 0 | | 12 | 4 | 2015-12-01 15:30:00 | 0 | | 13 | 3 | 2018-03-20 18:45:00 | 0 | | 14 | 2 | 2018-05-11 11:28:00 | 0 | | 15 | 5 | 2018-09-30 10:50:00 | 0 | | 16 | 1 | 2018-09-12 20:13:00 | 0 | | 17 | 4 | 2018-09-15 21:34:00 | 0 | | 18 | 1 | 2019-05-06 16:00:00 | 0 | | 19 | 3 | 2019-12-20 10:39:00 | 0 | | 20 | 2 | 2020-01-01 14:11:00 | 0 | +----------+---------+---------------------+--------+

●itemsテーブル

+---------+------------------------+--------+-------------+---------+--------+ | item_id | name | price | category_id | is_sale | is_del | +---------+------------------------+--------+-------------+---------+--------+ | 1 | ローマのテーブル | 150000 | 1 | 1 | 0 | | 2 | げーたるーど2000 500ml | 370 | 2 | 1 | 0 | | 3 | 原始肉 | 2500 | 3 | 1 | 0 | | 4 | 魅惑の椅子 | 100000 | 1 | 1 | 0 | | 5 | 十八茶 600ml | 110 | 1 | 1 | 0 | | 6 | いい匂いのするドリアン | 5000 | 3 | 1 | 0 | | 7 | 太平洋の水 550ml | 300 | 2 | 1 | 0 | | 8 | ひたすら膨らむガム | 200 | 3 | 1 | 0 | | 9 | 人をだめにするソファー | 10000 | 1 | 1 | 0 | | 10 | 人を虜にする名酒 | 20000 | 2 | 1 | 0 | | 11 | 新鮮キャベツ | 1000 | 3 | 1 | 0 | | 12 | ローマのテーブル | 150000 | 1 | 1 | 0 | | 13 | げーたるーど2000 500ml | 370 | 2 | 1 | 0 | | 14 | 原始肉 | 2500 | 3 | 1 | 0 | | 15 | 魅惑の椅子 | 100000 | 1 | 1 | 0 | | 16 | 十八茶 600ml | 110 | 1 | 1 | 0 | | 17 | いい匂いのするドリアン | 5000 | 3 | 1 | 0 | | 18 | 太平洋の水 550ml | 300 | 2 | 1 | 0 | | 19 | ひたすら膨らむガム | 200 | 3 | 1 | 0 | | 20 | 人をだめにするソファー | 10000 | 1 | 1 | 0 | | 21 | 人を虜にする名酒 | 20000 | 2 | 1 | 0 | | 22 | 新鮮キャベツ | 1000 | 3 | 1 | 0 | +---------+------------------------+--------+-------------+---------+--------+

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

ERROR 1054 (42S22): Unknown column 'users.name' in 'field list'

該当のソースコード

SQL

1SELECT 2orders.order_id AS '注文ID', 3orders.order_time AS '注文日時', 4users.name AS 'ユーザー名', 5items.name AS '商品名', 6items.price AS '価格', 7order_items.quantity AS '数量' 8 9FROM 10orders INNER JOIN order_items 11ON orders.order_id=order_items.order_id 12 13WHERE 14order_id>=1 AND order_id<=10;

試したこと

誤字の訂正、usersテーブルの内容確認

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

MySQL8.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

結合されたテーブルの中にusers.nameが存在しないためです。

下記の部分ですが、
ordersorder_itemsを結合しているだけで、usersが含まれていません。

SQL

1FROM 2orders INNER JOIN order_items 3ON orders.order_id=order_items.order_id

usersを参照したい場合はusersも結合してください。

投稿2023/05/17 10:53

pippi19

総合スコア679

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

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

haru.kawa

2023/05/17 12:28

ご回答ありがとうございます。usersの結合について、よくわかりません。 以下のように打ち直しましたがERROR 1066 (42000): Not unique table/alias: 'order_items' が表示されてしまいました。 どのように直すとよろしいのでしょうか。お教えいただけると幸いです。 (質問の欄に各テーブルについての情報を追記しました) ,,, SELECT orders.order_id AS '注文ID', orders.order_time AS '注文日時', users.name AS 'ユーザー名', items.name AS '商品名', items.price AS '価格', order_items.quantity AS '数量' FROM orders order_items INNER JOIN orders ON order_items.order_id=orders.order_id; INNER JOIN items ON orders.user_id=items.user_id INNER JOIN order_items ON items.item_id=order_items.item_id INNER JOIN users ON items.user_id=users.user_id WHERE order_id>=1 AND order_id<=10; ,,,
pippi19

2023/05/17 14:22

今度はそもそもSQL文にいくつか構文エラーがあります。 1文でセミコロンが2つあるのもおかしいですし、 FROMの後にテーブル名が2つあるのもおかしいですよね。 せっかくエラーが出ているのですから、検索しながら順番に解決しましょう。 慣れていないうちにこの規模のクエリから入ってしまうと、 複数の問題が生じ、理解が難しくなってしまいます。 もっとシンプルな構文から徐々に広げていくと良いと思います。
haru.kawa

2023/05/17 15:22

承知しました。じっくり考えながら順番に解決していきます。ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問