2016-11-02 3 views
-1

почта может иметь много категорий. Мне нужно найти сообщения, которые имеют две категории с ID 1 и 2.Mysql: объединить таблицу двумя одинаковыми значениями столбцов

Возможно ли выполнить запрос с одним соединением? Мое решение:

SELECT p.* 
FROM post p 
INNER JOIN category c ON 
c.post_id = p.id 
INNER JOIN category cf ON 
cf.post_id = p.id 
WHERE c.id = "1" AND cf.id = "2" 

Это работает, но, возможно, может оптимизировать?

+0

Я сделал это уже ... Лемм получить его для вас ... –

ответ

0

Почему вам нужно два присоединяется

SELECT p.* 
FROM post p 
INNER JOIN category c ON 
c.post_id = p.id 
WHERE c.id = "1" or c.id = "2" 
+0

Спасибо, но пост должен иметь обе категории. – lolalola