クエリ結果をLIMIT a,b
で制限する方法を知っていますが、LIMIT
JOIN
で作成されたクエリに1つのプライマリIDの複数の行IDごとに少なくとも1つの行を保持しますか?MySQL/MariaDB - プライマリIDを失うことなくLIMITにクエリ結果を結合
私はポストのテーブルを持っている
... *私はより多くを説明させて、その後、カテゴリのテーブルがあります。
しかし、1つの投稿は、より多くのカテゴリに含めることができます。
私は投稿を照会するときに、同時にそのカテゴリーを照会したいと思っています...
...事は私が1つのカテゴリー最大必要です。 なお、少なくとも一つの行 - 1あたりポスト結果(私はどちらドントケア)
(例示的)電流が
ID | title | content | category_ID | category_name
1 | First Post | ....... | 2 | Boring Articles
1 | First Post | ....... | 5 | Interesting Articles
1 | First Post | ....... | 1 | Mojo Tips
2 | Second Post | ....... | 5 | Interesting Articles
3 | Third Post | ....... | 5 | Interesting Articles
3 | Third Post | ....... | 4 | Fitness
4 | Fourth Post | ....... | NULL | NULL
所望の(例示的)結果をもたらします投稿IDごとに保管されていました!
ID | title | content | category_ID | category_name
1 | First Post | ....... | 2 | Boring Articles
2 | Second Post | ....... | 5 | Interesting Articles
3 | Third Post | ....... | 5 | Interesting Articles
4 | Fourth Post | ....... | NULL | NULL
しかし、私はちょうど何か
SELECT * FROM posts
LEFT JOIN relationships USING(ID)
LEFT JOIN categories USING(category_ID)
LIMIT 0,4
のようなこれはどうなるだろう場合(
が必要なデータ失う - ...もう1つのIDあたりのない1行):
ID | title | content | category_ID | category_name
1 | First Post | ....... | 2 | Boring Articles
1 | First Post | ....... | 5 | Interesting Articles
1 | First Post | ....... | 1 | Mojo Tips
2 | Second Post | ....... | 5 | Interesting Articles
PS:I MySQL/MariaDBでこれを解決する方法を知りたいと思っていますが、それを使うときに違いがあるなら、違いは何ですか? :)
この2つの簡単な手順を実行することをお勧めします。1.まだ実行していない場合は、適切なCREATE文とINSERT文(および/またはsqlfiddle)を指定して、問題をより簡単に再現できるようにします。 2.まだ実行していない場合は、手順1で提供された情報に対応する結果セットを指定します。 – Strawberry
不明な点は何ですか?なぜ私の質問が既存の結果を制限することであるのかを作成/挿入ステートメントが必要であると想像することはできません...そして、SQLクエリとサンプルの例を提供しました...私の質問のすべての上には、 DB固有のもの... –
データセットのない結果セットは、ロリポップのないスティックのようなものです。全く楽しいことはありません。 「どちらに気をつけよう」という言葉は、時には貧弱なデザインを示すものでもありません。 – Strawberry