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

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

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

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

Q&A

解決済

3回答

391閲覧

MySQLで複数のテーブルから

oyatsu8

総合スコア97

MySQL

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

0グッド

0クリップ

投稿2022/03/17 02:34

編集2022/09/02 01:29

MySQLの初心者です。table_aとtable_bがあり、table_aのidとtable_bのt_id は共通している場合に、
同じidを持っている、table_aとtable_bのFieldの表を出したいのですが、下記のようにしてもエラーが出てしまいます。
どう書いたら[最終形]のように出来るでしょうか
現在の環境はMac OS10.14.6 のターミナルで、mysql Ver 14.14 Distrib 5.7.37です。

[現在の状態]

MySQL

1 2table_a 3mysql> show fields from table_a; 4+-----------+----------+------+-----+---------+-------+ 5| Field | Type | Null | Key | Default | Extra | 6+-----------+----------+------+-----+---------+-------+ 7| id  | char(40) | NO | | NULL | | 8| a_num | int(11) | YES | | NULL | | 9| a_memo | text | YES | | NULL | | 10+-----------+----------+------+-----+---------+-------+ 113 rows in set (0.02 sec) 12 13table_b 14mysql> show fields from table_b; 15+-----------+----------+------+-----+---------+-------+ 16| Field | Type | Null | Key | Default | Extra | 17+-----------+----------+------+-----+---------+-------+ 18| t_id | char(40) | NO | | NULL | | 19| b_num | int(11) | YES | | NULL | | 20| b_memo | text | YES | | NULL | | 21+-----------+----------+------+-----+---------+-------+ 223 rows in set (0.02 sec) 23 24 25> SELECT a_num,a_memo,b_num,b_memo from test.table_a,test.table_b where id='12345' and t_id='12345'; 26 27ERROR 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 'a_num,a_memo,b_num,b_memo from test.table_a test.table_b where t_' at line 1

[最終形]こんな形で出したいと思っています

MySQL

1+-----------+----------+---------+------------+ 2| a_num | a_memo | b_num | b_memo | 3+-----------+----------+---------+------------+ 4| 1111 | あいうえお | 11111 | アイウエオ | 5| 2222 | かきくけこ | 22222 | カキクケコ | 6| 3333 | さしすせそ | 22222 | サシスセソ | 7+-----------+----------+---------+-------------+

追記
下記のような感じでやりたいことが出来ました。ありがとうございました。

mysql> select a_num, a_memo
FROM test.table_a INNER JOIN test.table_b where id = t_id and a_memo like '%あ%';

mysql> select a_num, a_memo
FROM test.table_a,test.table_b where id = t_id and a_memo like '%あ%';

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

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

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

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

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

yambejp

2022/03/17 02:47

MySQLの初心者であればmysqlクライアントは使わないほうがよいでしょう。 GUIツールの使用を検討ください SQLのサンプルはcreate table+insert・・・で例示されたほうが 回答が付きやすいです
oyatsu8

2022/03/17 03:08

ありがとうございます。GUIツールは今検索して出てきた、Sequel Proなどでしょうか? create table+insertについてもう少し勉強してみます。
guest

回答3

0

ベストアンサー

table_aとtable_bを内部結合したいということですよね。

SQL

1SELECT a_num, a_memo, b_num, b_memo 2 FROM test.table_a 3 INNER JOIN test.table_b 4 ON id = t_id

投稿2022/03/17 03:03

nukasa

総合スコア406

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

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

oyatsu8

2022/03/24 14:51

回答ありがとうございます。 内部結合をすればいいんですね、質問後にパソコンが壊れてしまい、復旧次第また試してみたいと思います。
oyatsu8

2022/09/02 01:01 編集

ありがとうございます。だいぶん時間が経ちましたが、ようやく出来ました!nusakaさんのクエリーで出来ました。
guest

0

とりあえずこんな感じで

SQL

1SELECT * from table_a,table_b where id=t_id and id='12345'

投稿2022/03/17 02:50

yambejp

総合スコア114769

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

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

oyatsu8

2022/03/24 14:55

回答ありがとうございます。 and id='12345'の部分が感覚的に理解できませんでした、 パソコンが壊れてしまい、復旧次第また試してみたいと思います。
oyatsu8

2022/09/02 01:25

ありがとうございます。だいぶん時間が経ちましたが、ようやく出来ました!and でさらに条件をつなげる方法が役に立ちました!
guest

0

table_bにidカラムが無いのでsyntax errorになるんじゃないでしょうか。

投稿2022/03/17 02:51

hilopon

総合スコア12

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

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

oyatsu8

2022/03/24 14:53

回答ありがとうございます。 t_idではなく、idじゃないといけないということでしょうか、 パソコンが壊れてしまい、復旧次第また試してみたいと思います。
hilopon

2022/03/25 11:49

そうですね。 けれど、nukasaさんのようにonでつなぐといいと思います。
oyatsu8

2022/09/02 01:02

ありがとうございます。だいぶん時間が経ちましたが、ようやく出来ました!syntax errorにはなりませんでしが、さらにやりたいことがあることに気づいたので、もう少し頑張ろうと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問