Таблицы ошибок и зависимостей выглядят так:
select * from bugs;
+--------+--------+
| bug_id | status |
+--------+--------+
| 20 | NEW |
| 45 | CLOSED |
| 47 | NEW |
| 30 | NEW |
| 50 | CLOSED |
+--------+--------+
select * from dependencies;
+-----------+---------+
| dependson | blocked |
+-----------+---------+
| 20 | 45 |
| 20 | 47 |
| 30 | 50 |
+-----------+---------+
Ожидаемый результат запроса на соединение: 30
Что? Извлекайте только 30 из столбца зависимости, зависимости таблицы, потому что 30 - это единственная ( NEW status ), которая блокирует (col: заблокирован-50) ошибку, статус которой ЗАКРЫТ.
Хотя запись зависимости 20 блокирует 45, которая ЗАКРЫТА, но она также блокирует 47, которая не ЗАКРЫТА.
Примечание: оба столбца зависят от заблокированного и являются внешним ключом bug_id.
Я пробовал разные запросы, но все еще не смог получить правильный ... Кто-нибудь может помочь?
Обновление: нужен статус только НОВЫЙ, не все.