1. ホーム
  2. mysql

[解決済み] MySQL JOINで結合テーブルをLIMIT 1で結合する。

2023-05-12 12:58:42

質問

2つのテーブルを結合したいのですが、テーブル1のレコードに対してテーブル2のレコードが1つしか取得できません。

例えば

SELECT c.id, c.title, p.id AS product_id, p.title
FROM categories AS c
JOIN products AS p ON c.id = p.category_id

これは products にあるすべてのレコードを取得しますが、これは私が欲しいものではありません。私は1つのカテゴリにつき1つの[最初の]製品が欲しいのです。 sort カラムがあります)。

どうすればいいのでしょうか?

どのように解決するのですか?

私なら、このようにします。

SELECT C.*,
      (SELECT P.id, P.title 
       FROM products as P
       WHERE P.category_id = C.id
       LIMIT 1)
FROM categories C