مثلا سه تا جدول رو به شکل زیر میسازید و جدول سوم میشه واسطه جدولهای اول و دوم:
posts: id, content
categories: id, name
posts_categories: post, category
وقتی مثلا پست شماره 5 به دستههای شماره 9 و 10 تعلق داره دو تا سطر توی جدول posts_categories ثبت میکنید:
posts | category
---------------------
5 | 9
5 | 10
و موقع پیدا کردن پستهایی که عضو دستهی خاصی هستند مشابه زیر عمل میکنیمک
SELECT posts.* FROM posts_categories
LEFT JOIN posts ON posts.id=posts_categories.post
WHERE posts_categories.category='10'
GROUP BY posts_categories.post
و یا دستههای یک پست خاص:
SELECT categories.* FROM posts_categories
LEFT JOIN categories ON categories.id=posts_categories.category
WHERE posts_categories.post='5'
GROUP BY posts_categories.category;
این روش که روش مرسوم هست بالاترین انعطاف رو برای این اهداف داره.