Помогите составить 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' - что то в таком духе)