2014-05-09 7 views
0

У меня есть структура таблицы, как это:Пересечения в одной таблице

| id | itinerary_id | destination_id |

Я должен принести itinerary_id, которая существует с несколькими destination_id, с помощью AND состояния. Например, itinerary_id 1 сопоставляется с destination_id1,2,3, тогда как 2 сопоставляется с адресом destination_id 2, а 3 сопоставляется с destination_id 3. Таким образом, когда я использую фильтр с адресатами 1,2 и 3, результат будет равен 1.

Предложите, как я могу написать запрос для такой ситуации, пожалуйста.

+0

Пытались ли вы что-нибудь? Если да, то что именно и почему это не то, что вам нужно. – Leri

+0

Не могу ответить –

ответ

1

Попробуйте это: -

SELECT itinerary_id 
FROM tab 
WHERE destination_id in (1,2,3) 
GROUP BY itinerary_id 
HAVING count(*)=3; 
+0

Спасибо, Четан, это работает. –

Смежные вопросы