Добрый день. Моих знаний SQL не хватает, чтобы вывести объединённые данные из таблицы.
Есть таблица wp_posts в ней есть товары → SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_type = 'product'
Ещё значение meta_value в таблице wp_postmeta→ SELECT meta_value FROM wp_postmeta WHERE meta_key = 'parser_name' AND post_id = '$id'
$id → это id поста в таблице wp_posts
Мне нужно вывести значения только с данными которые будут соответствовать, что выше с wp_posts на наличие данных из wp_postmeta со значением meta_value != ''
Т.е. отфильтровать товары, чтобы не выводить лишние значение где отсутствует meta_value в wp_postmeta
SELECT *
FROM wp_posts
WHERE post_status = 'publish'
AND post_type = 'product'
AND id IN
(SELECT DISTINCT(post_id)
FROM wp_postmeta
WHERE meta_value != '')
$sql = $DB->query("SELECT *
FROM wp_posts
WHERE post_status = 'publish'
AND post_type = 'product'
AND id IN
(SELECT DISTINCT(post_id)
FROM wp_postmeta
WHERE meta_key = 'parser_url' AND meta_value != '')
LIMIT 10");
Воспользуйтесь выгрузкой товаров в csv/xml/xls через плагин WP All Export.
Плюсы: не нужно лезть в базу без знаний SQL, получаете работоспособный список в Calc, где быстро отсортируете, что нужно