でJOINステートメント私は、MySQLデータベースのバージョン5.6.17
を使用していると私は
SELECT文でMySQLの
- ユーザー
- ID
- 以下のテーブルを持っていますユーザ名
- シリーズ
- imdbID
- エピソード
- imdbID
- シーズン
- エピソード
- imdbVotes
- seriesID
- タイプ
- MarkTypeは
- ID
- タイプ
- 別名試験(serieswatchlist)
- ID
- ユーザーID
- EPID
- markid
ご注意:は、私は、次のデータ(すべてのユーザーデータ、すべてのエピソードデータは、すべての系列データを抽出するために管理し、質問長
を減らすために、各テーブルの列のほとんどが削除されていません次のSQLコード
SELECT e.*, u.username, s.*
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1
を使用しますが、私は、私は、各シリーズから取得したい
そのSQL文の結果に別の操作をしたい)それが最大の季節の数とベロ最大エピソード番号ですそのシリーズからその季節にSQL文を使用しています。
これまでのコードの前にコードを書こうとするたびに、エラーが返ってきました。UPDATE 1
: は私のコードの周りにGROUP BYを試してみましたが、それは
ここ が変更されたコード
SELECT MAX(e.season) FROM
(SELECT e.seriesID, u.username, e.imdbID AS "episodeID"
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1)
GROUP BY seriesID
である「すべての派生テーブルは、独自の別名を持っていなければなりません」エラーが発生しましたUPDATE 2: は以下
SELECT MAX(x.season), max(x.episode) FROM
(SELECT e.seriesID, u.username, e.imdbID AS "episodeID", e.season, e.episode
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1) as x
GROUP BY x.seriesID
にエラーを修正するためのコードを変更しました
それは
select ...
from (the subuery) <alias_name>
group by <alias_name>.some_field
例えばなければならない(サブクエリなど)FROM
セクションの既存のクエリ問題なく
になりますか?何?それはどのように機能するのですか? – Strawberry
問題を最小限に抑えます。たとえば、質問から削除できる重要性のない列が非常に多くあります。 – jarlh
@Strawberryはまだその機能に取り組んでいますが、その価値はテキストです(例:john doe、my x、miss y) – hamada147