SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.12.2015 13:48:39

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Вывод постов в которых есть оба тега

Добрый день,
на сайте выводятся посты по тегам.
Структура таблиц самая обычная: посты, теги, связи постов с тегами.
Но сейчас понадобилось выводить посты по двум тегам, причем пост должен быть в обоих тегах одновременно.

И тут возник вопрос, а как это сделать?

Мультиполей в mysql нет.
AND tags=1 AND tags=2 явно не сработает
AND tags=1 OR tags=2 сработает, но выведет все подряд.


Пример, как сейчас:

SELECT * FROM users u, tags_link tl, post p
WHERE u.id = p.`user`
AND tl.post = p.id
AND tl.tags=1
ORDER BY p.svc_date DESC LIMIT 0, 15

Отредактированно Марк (27.12.2015 13:55:29)

Неактивен

 

#2 27.12.2015 18:00:49

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Вывод постов в которых есть оба тега

Посмотрите весь.
Идея, думаю, сработает с where tags in (1,2) и having count(*)=2

Или создайте Ваши таблички с тестовыми данными на sqlfiddle и приведите желаемый результат.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 28.12.2015 14:23:12

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Вывод постов в которых есть оба тега

Благодарю, это помогло)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson