Я пытаюсь сделать запрос, который возвращает некоторые ОС из базы данных, но необходимо удовлетворить одно условие. Данные в моей базе данных подобны: < /p>
id < /th>
status_id < /th>
< /th> < /th>
< /trt_id < /th> < /br /> < /th> < /tr> < /tr. />
1 < /td>
2 < /td>
1 < /td>
< /tr>
2 < /td>
1 < /td>
2 < /td>
1
2 < /td>
1
/> < /tr>
3 < /td>
2 < /td>
2 < /td>
< /tr>
4 < /td>
1
4 < /td>
1
/> < /tr>
< /tbody>
< /table> < /div>
Чего я хочу, так это то, что мой запрос возвращает ОС от клиента, где статус = 2 или статус = 1, если нет никакой ОС из одного и того же клиента со статусом = 2. class = "s-table">
id < /th>
status_id < /th>
client < /th>
< /tr>
< /thead>
1 < /td> 1 < /td> 1 1 1 1 < /td> < /td>
< /thead>
2 < /td>
1 < /td>
< /tr>
3 < /td>
2 < /td>
2 < /td>
< /tr>
< /td>
< /tr>
/> 1 < /td>
3 < /td>
< /tr>
< /tbody>
< /table> < /div>
Запрос, который я пытаюсь сделать, такой (я знаю, что запрос неверен): < /p>
select *
from os
where status_id = 2
or (
status_id = 1
and not exists (
select id
from os
where client_id = os.client_id
and status_id = 2
)
)
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-in-query