Я борюсь с запросом к базе данных в течение 2 часов.
Существует следующая структура базы данных:
таблица артикулов
+---------------+-------------+
| id | ordernumber |
+---------------+-------------+
| 1 | 3243 |
| 2 | 3344 |
| 3 | 3423 |
| 4 | 7687 |
+---------------+-------------+
таблица вариантов
+----+-----------+-------+-------+
| id | articleId | stock | price |
+----+-----------+-------+-------+
| 1 | 1 | 3 | 10,99 |
| 2 | 1 | 0 | 10,99 |
| 3 | 1 | 1 | 10,99 |
| 4 | 2 | 0 | 11,99 |
| 5 | 2 | 0 | 11,99 |
| 6 | 2 | 1 | 11,99 |
+----+-----------+-------+-------+
Я хочу получить все статьи, где все, кроме одного варианта, имеют 0 запасов.
Это вообще возможно с простым SQL-оператором? Я попытался с подзапросом, но безуспешно, так как подзапрос выполняется первым, и мне нужно было бы передать значения из текущей записи набора результатов внешнего запроса.
Любая помощь очень ценится.
Edit:
Ожидаемый результат:
+----+-------------+
| id | ordernumber |
+----+-------------+
| 2 | 3344 |
+----+-------------+