MySQL: Получение сообщений из категорий

Я пытаюсь изучить MySQL, поэтому я создал небольшую систему блогов.

У меня есть 3 таблицы в MySQL:

сообщений :

id    |  title      
----------------
1     |  Post Title 1         
2     |  Post Title 2  

категорий :

id    |  title          | parent
--------------------------------
10     |  category10    | 0 
11     |  category11    | 0
12     |  category12    | 10 

post_category_relations :

id    |  post_id   |   category_id
----------------------------------
1     |  1         |   10
2     |  2         |   12
3     |  3         |   11

У каждого сообщения может быть несколько категорий, их отношение хранится в post_category_relations:

Итак, когда я захожу на index.php? Category = 10, я хотел бы получать каждое сообщение, что есть относится к category10 , включая сообщения из ее дочерней папки category12 , а также.

My Unfinished Snippet in PHP

$folder_id = $_GET["category"]; // Get Category ID from the URL
$sql = "SELECT * FROM posts 
          JOIN categories
          JOIN post_category_relations
        // And I don't really know what should I do here
        // because I need the child categories first, then the relations
        // then I can get the post too from the post_id of the relations
       ";
mysql_query($sql);

Я знаю, что это потребует продвинутых навыков MySQL, но любая помощь ценится! Я уже сделал это в PHP, но мне нужно использовать 4 цикла, что не лучший способ сделать это, когда это возможно в MySQL, я просто еще не знаю, как :)

5
задан Adam 20 May 2011 в 06:06
поделиться