Помогите составить SQL запрос где в WHERE будет 2 раза "AND"

Помогите, пожалуйста, разобраться со свиду простым sql запросом, но который не работает, уже все варианты испробовал и через дополнительные joinы и через вариации в WHERE.

Таблица User

id status postId
12345 new 55555
23456 ready 55555
34567 done 77777

Нужно вывести postId если у него есть status = new И status = ready. Должен вывестись postId = 55555

Мой вариант:

SELECT
       postId
FROM User
WHERE postId IN (55555, 77777)
AND (status = new AND status = ready)
GROUP BY postId

Но он не работает из-за противоречия (status = new AND status = ready), работает только (status = new OR status = ready), но мне не подходит такое условие, нужно чтобы строго и new и ready было. MySql.


Ответы (1 шт):

Автор решения: S.H.

А если так?

    SELECT postId FROM User WHERE status = ready AND postId IN 
    (SELECT postId FROM User WHERE status = new )

Я писал из головы, так что возможны некоторые лёгонькие ошибки синтаксиса (так, например, в боевой базе наверняка status = 'ready' - что то в таком духе)

→ Ссылка