2015-05-11 4 views
0

Я имею ситуацию как этотSQL Query для Где IN условие

Select * 
from user_post 
where user_id in (select user_id from follow where follow_id=20) 

Этот запрос работает нормально, мне нужно добавить follow_id 20 также в состоянии ... где выбран user_id плюс этого пользователя 20 также включены в WHERE в состоянии

Я попытался как этот

Select * 
from user_post 
where user_id in (select user_id from follow where follow_id=20) AND user_id=20 

Это не принесло должного результата

запрос должен быть, как этот

Select * 
from user_post 
where user_id in (10,15,20) 

как сделать это

+0

не представляется возможным, так как вы требуют user_id иметь (потенциально) два или более различных значений в то же время. например если внутренний запрос возвращает '42', тогда вы говорите' where user_id = 42 AND user_id = 20'. –

+0

Предоставить пример данных. Включить ожидаемые результаты. Не уверен, что вы пытаетесь сделать. – xQbert

+0

Я пытаюсь отобразить все сообщения пользователей, которым я подчиняюсь, а также я хочу отобразить собственное сообщение для этого только я написал этот вопрос –

ответ

1
SELECT 
    * 
FROM 
    user_post 
WHERE 
    user_id IN ((SELECT 
        follow_id 
       FROM 
        follow 
       WHERE 
        follow_id=20), 10, 15); 
+0

@Subramanian - Он дает ожидаемый результат? – Rajesh

+0

@Subramanian - Это должно решить вашу проблему. [см. sqlfiddle здесь] (http://sqlfiddle.com/#!9/7ff02/23) – Rajesh

+0

Спасибо Rajesh :) –