Связь многие-ко-многим, все стандартно. Таблицы такие: Код (Text): posts: post_id // остальное неважно tags: tag_id | tag_name | tag_count posts_tags: pt_post_id | pt_tag_id Вопрос такой: как лучше всего добавлять новые теги? так, чтобы для существующих инкрементился count, а новые записывалсиь. Очень не хочется для каждого тега плодить запросы. \= Есть ли нормальный оптимальный способ?
Psih, спасибо. Совсем забыл про IN Проблему с добавлением решил. Вроде не так и много запросов вышло.. Но теперь думаю, как выводить записи с заданным тегом \= Сейчас для вывода всех записей юзаю такой запрос: [sql] SELECT `blog_posts`.*, GROUP_CONCAT(`blog_tag_tag`) as `blog_post_tags` FROM `blog_posts` LEFT JOIN `blog_tags_posts` ON `blog_post_id` = `blog_tp_post_id` LEFT JOIN `blog_tags` ON `blog_tp_tag_id` = `blog_tag_id` GROUP BY 1 [/sql] где blog_tags_posts - связующая таблица. Вопрос: как можно заставить вытряхивать из базы только посты, которые содержат определенный тег? Если пишу WHERE blog_tag_tag = 'some_tag', то выводит нужные посты, но в списке тегов для него значится только этот тег, остальные не подтягивает \= Понимаю, что объяснил не очень понятно, но как уж получилось =) Очень буду признателен за помощь от знающих людей.
ShamahN мимо.. ( Для понятности приведу пример базы: Вот так хранятся данные. При выборке для каждого поста с помощью GROUP_CONCAT получаю blog_post_tags = 'some tag, another some tag'