У меня есть такая таблица:
| article_id | parent_article_id | title |
|------------|-------------------|---------------|
| 90 | NULL | First article |
| 91 | 90 | part 2 |
| 92 | 90 | part 3 |
| 93 | 90 | part 4 |
| 94 | NULL | 2f3 |
| 95 | NULL | reer |
В скрипте PHP у меня есть выпадающий список select
, и я хочу заполнить элемент управления select статьями, в которых parent_article_id
имеет значение null (я хочу всех родителей), за исключением обработки article_id
im.
Итак, если я обрабатываю article_id
90, я хочу вернуть всех доступных родителей, то есть article_id
: 94, 95 (без учета обработки article_id
im: 90) ...
Если я обрабатываю article_id
91, я хочу вернуть: 90, 94, 95 ...
Если я обрабатываю article_id
95, я хочу вернуть: 90, 94 ...
Мне удалось создать запрос, который работает нормально:
SELECT
a.article_id,
a.parent_article_id,
a.title
FROM
article a
WHERE
a.article_id != ? AND a.parent_article_id IS NULL
ORDER BY
a.article_id
....
$stmt = $conn->prepare($q);
$stmt->bind_param('i', $articleid);
$stmt->execute();
Проблема в том, что я создаю новую статью, и поэтому обрабатываемый article_id
, который я обрабатываю, равен нулю (еще не существует) ... Запрос ничего не возвращает, что логично. Я хочу вернуть все parent_article_id
, которые являются нулевыми, даже если article_id
еще не существует?
Возможно ли это с помощью одного запроса?