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

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

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

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

Q&A

0回答

361閲覧

テーブル結合について

takasikoarkaslf

総合スコア18

SQL

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

0グッド

0クリップ

投稿2020/01/21 19:25

編集2020/01/21 21:24
CREATE TABLE `t_buy_detail` ( `id` int(11) NOT NULL AUTO_INCREMENT, `buy_id` int(11) NOT NULL,購入idが入っています、3つ購入したら3.3.3と三つデータベースに入ります `item_id` int(11) NOT NULL,商品情報が入っています PRIMARY KEY (`id`)
CREATE TABLE `t_buy` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `total_price` int(11) NOT NULL,購入した合計値 `delivery_method_id` int(11) NOT NULL,配送方法 `create_date` datetime NOT NULL, PRIMARY KEY (`id`)
CREATE TABLE `m_item` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(256) COLLATE utf8_unicode_ci DEFAULT NULL,商品名 `detail` text COLLATE utf8_unicode_ci, `price` int(11) DEFAULT NULL, utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`)

この三つのSQLから結合をして一人が購入した
商品名、配送料、商品一つの値段を取得して結合したいですが複数あって
結合の方法が分かりません
どの様にしたら良いですか?

このSQLはユーザーが購入履歴を押した後に
ユーザーがどの商品をかって配送などの履歴を出すために使います

ご指摘ありがとうございます
select
t_buy_detail.id,
m_item.id,
t_buy_detail.item_id,
m_item.name,
M_item.price
from
(m_item
inner join
t_buy_detail on m_item.id = t_buy_detail.item_id)
inner join t_buy on t_buy.id = t_buy_detail.buy_id;
と自分の中ではやっているのですが
ユーザーが購入したものの中に購入した情報が入らない状態です
修正出来ていない所とか至らない所沢山ありませて申し訳ございません

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

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

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

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

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

Orlofsky

2020/01/21 20:46

SQLを実行できる環境を用意して実行しないとSQLは覚えられませんよ。 前回の質問の [質問への追記・修正、ベストアンサー選択の依頼] にも書いたけど、 CREATE TABLE の最後の ) が足りないでからエラーになっています。 SQL のコメントは -- の右側 /* この間 複数行にまたがっても良い。 */
m.ts10806

2020/01/21 21:18

質 問 は 編 集 で き ま す よ。 既に指摘がありますが、動かないCREATE文を提供されても誰も確認しません。 動くものを提示してください。 また、まず自分でしませんか?何も調べてないのでしょうか。質問ではなく作業依頼になっています。
Orlofsky

2020/01/21 21:46

学習障害でしょうか?でしたら、自分の向いている仕事か考え直しては? 各テーブル毎にデータを何件かINSERT文で追記してください。 追記したSELECT文と共に、こういう結果が欲しいという結果も https://teratail.com/help/question-tips#questionTips3-7 の [コード] で提示してください。
mahry

2020/01/22 00:08

他の方からもご指摘があるようですが、情報が不足しています。 クエリの正確性を確認するには、まずあなたがどのデータベースを使用しているのか。 例)SQLServer、MySQLなど そしてそのバージョンはいくつか。 やりたいことを実現するために、あなたは何を調べ、実行してみたのか。ここは検索のキーワードでも構いません。実行してみたクエリは「コードの挿入」で、 ```ここに言語を入力 コード ``` の「ここに言語を入力」に「SQL」をいれ、「コード」と書かれているところにクエリを貼ってください。 それから、いま3つあるテーブルのうち、何がどれを示しているテーブルなのか、コメントを加えるのもわかりやすくていいと思います。どのテーブルの何を表示したいのか、これも明示してもらえないとこちらとしても最終的なアドバイスまで行きつきません。 上記のように、情報を追加すると回答する側も回答しやすいです。
退会済みユーザー

退会済みユーザー

2020/01/22 01:22 編集

SQL言語の方言(仕様や文法)が異なるので、適切な情報がないと回答をつけられません。メジャーどころを広く習得している方もいらっしゃるかもしれませんが、回答者に無駄で過大な負担を強いることになるため、MySQL/mariaDBかPostgreSQLかSQLiteかその他かくらいの情報は必ずつけるようにしてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問