Внутренние присоединения в php - PullRequest
0 голосов
/ 06 января 2011
SELECT thread.id AS p_id, post.title, post.content, author.username, author.id AS a_id
                         FROM thread INNER JOIN author
                         ON author_id = author.id
                         ORDER BY thread.created DESC
                         LIMIT $start, 30

У меня есть таблица с именами posts, posts_id и tags.

Как я могу расширить вышеприведенный оператор SQL, чтобы получить все теги, связанные с каждым сообщением, используя INNER JOINS, ... или что-то еще?

Ответы [ 2 ]

2 голосов
/ 06 января 2011

Попробуйте это (предполагается, что таблица с информацией о тегах является тегами и имеет столбец thread_id):

SELECT thread.id AS p_id, 
             post.title, 
             post.content, 
             author.username, 
             author.id AS a_id,
             GROUP_CONCAT(DISTINCT tag_name ORDER BY tag_name DESC SEPARATOR ',') AS tags
 FROM thread INNER JOIN author
 ON author_id = author.id INNER JOING TAGS 
 ON thread.id = tags.thread_id
 GROUP BY thread.id
 ORDER BY thread.created DESC

 LIMIT $start, 30

РЕДАКТИРОВАТЬ: перемещение группы на одну строку вверх.

0 голосов
/ 06 января 2011

ВЫБРАТЬ thread.id КАК p_id, post.title, post.content, author.username, author.id AS a_id ИЗ НИТИ ВЕРНУТЬСЯ ПРИСОЕДИНЯТЬСЯ К АВТОРУ ВКЛBY thread.created DESC LIMIT $ start, 30

Sanil

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...