Я пытаюсь использовать результат SELECT, подзапроса в моем ИНЕКЕ:Использование SELECT, подзапрос в ИНЕКЕ не работает
SELECT
ID,
post_parent as parent,
post_status,
(SELECT post_status as p FROM wp_posts WHERE ID = parent) as parent_status
FROM wp_posts
WHERE post_type = 'attachment'
AND post_status = 'inherit'
AND post_parent != 0
AND parent_status = 'publish'
ORDER BY post_date DESC
Но это не похоже, MySQL знает колонки parent_status, ошибка:
#1054 - Unknown column 'parent_status' in 'where clause'
Однако, если вы удалите и parent_status = 'опубликовать', вы получите результаты обратно, включая колонки parent_status:
ID parent post_status parent_status
1908 1904 inherit publish
1907 1904 inherit publish
1906 1904 inherit publish
1905 1904 inherit publish
1902 1900 inherit publish
....
Цель запроса состоит в том, чтобы захватить идентификатор post_parent во внешнем запросе, а затем в подзапросе захватить post_status родителя. Это WordPress, и я пытаюсь перечислить вложения мультимедиа только в том случае, если у них есть родитель, и этот родитель опубликован.
Возможно, я делаю что-то принципиально неправильно, пытаясь использовать подзапрос SELECT с предложением WHERE. Любые советы оценены.
Отлично работает, и спасибо за объяснение! – khromov