IsaevDimka
@IsaevDimka
маркетёр-аналитик, веб-разработчик

Как составить запрос для Mysql?

Добрый день. Моих знаний 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
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
если правильно понял проблему, тогда так:
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 != '')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dubart
Воспользуйтесь выгрузкой товаров в csv/xml/xls через плагин WP All Export.
Плюсы: не нужно лезть в базу без знаний SQL, получаете работоспособный список в Calc, где быстро отсортируете, что нужно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы