1

これを表現する適切な方法が思い浮かびませんでした。正しいフレーズを知っていれば、適切にグーグルで検索できるかもしれませんが、まだ苦労しています.

2 つのテーブルがあります: カテゴリ、ディレクトリ

ユーザーがカテゴリを選択するページで、そのカテゴリのディレクトリ項目が存在するカテゴリのみを表示したいと思います。

私は結合でこれを行うことができるかどうか疑問に思って試しました

SELECT
wedding_directory_cats.id,
wedding_directory_cats.name,
wedding_directory.id AS d_id
FROM wedding_directory_cats
JOIN wedding_directory ON wedding_directory.category = wedding_directory_cats.id

しかし、これは各ディレクトリ アイテムのカテゴリを返すため、同じカテゴリが複数回発生します。これを書いているときと同じように、最後に GROUP BY を使用できると思い始めていますが、これはまだ、最初にすべてを返してから GROUP BY を返さなければならないことを意味します。 ? 任意の回答をいただければ幸いです

4

1 に答える 1

1

これを試して:

SELECT wdc.id, wdc.name, wd.id AS d_id
FROM wedding_directory_cats wdc
INNER JOIN (SELECT id, category FROM wedding_directory GROUP BY category) wd ON wdc.id = wd.category ;

また

SELECT wdc.id, wdc.name, GROUP_CONCAT(wd.id) AS d_id
FROM wedding_directory_cats wdc
INNER JOIN wedding_directory wd ON wdc.id = wd.category 
GROUP BY wd.category;
于 2013-01-02T14:34:31.333 に答える