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

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

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

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

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

Q&A

解決済

1回答

628閲覧

SQL文で、SELECTした2つのテーブルを結合したい

MiyaTatu

総合スコア16

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

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

0グッド

0クリップ

投稿2018/01/11 06:02

PHPでDBからデータを取得しようとしています。

AテーブルimageID他データ
×1data
×2data
×3data
×4data
BテーブルimageID
×1
×2
×2
×3

このようなテーブルA,Bがあるとすると、

テーブルAを数字が大きいほうから3件取得
テーブルBのimageIDをCOUNTして取得

それを結合してこのようなCテーブルを作りたいです。
Aテーブル|imageID|data|count
|:--|:--:|--:|
|×|2|data|2
|×|3|data|1
|×|4|data|0

一応見様みまねで作ってみたのですが、これではさっぱり動きません。よろしくお願いします!

SQL

1SELECT * 2FROM (SELECT * 3FROM A 4ORDER BY Time DESC 5LIMIT 3) 6 7LEFT OUTER JOIN 8 9(SELECT ImageID,COUNT(*) as count 10 FROM B 11 GROUP BY ImageID) 12 13 ON (image.ImageID = favo.ImageID)

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんなイメージでしょうか?

SQL

1SELECT 2 ATABLE.IMAGEID, 3 IFNULL(COUNT, 0) 4FROM 5 (SELECT * FROM `a` ORDER BY IMAGEID DESC LIMIT 3) AS ATABLE 6 LEFT OUTER JOIN ( 7 SELECT 8 IMAGEID, 9 COUNT(*) AS COUNT 10 FROM 11 B 12 GROUP BY 13 IMAGEID 14 ) AS BTABLE 15 ON ATABLE.IMAGEID = BTABLE.IMAGEID 16ORDER BY 17 ATABLE.IMAGEID

投稿2018/01/11 06:20

motuo

総合スコア3027

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

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

MiyaTatu

2018/01/11 07:10

さっそく試したところ、うまく動きました!本当にありがとうございます!SQL初心者なので、このSQL文をひとつひとつ調べてみたいと思います、ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問