Запрос SQL?ВЫБЕРИТЕ инверсию этого запроса? - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь найти дубликаты постов WordPress с использованием SQL - но дублирует в соответствии с мета-копией поста - не дублирует заголовки. Пока самый близкий код, который я мог найти, делает противоположное - он находит все уникальные посты. Как я могу отменить этот запрос?

SELECT id,meta_value, post_title, post_content
FROM wp_posts
LEFT JOIN wp_postmeta c ON ( wp_posts.ID = c.post_id )
WHERE post_type = 'post' AND meta_key = 'syndication_permalink' 
GROUP BY meta_value
HAVING Count(meta_value) > 1

* ОБНОВЛЕНИЕ Извините за то, что я нуб в SQL .. Я добавил таблицу, чтобы точно показать, какова цель. Я хочу удалить дубликаты постов с freelancer.com

  post_id   meta_key                meta_value
  --------  -------------------     ----------------------------------------
  1         syndication_permalink   https://www.freelancer.com/projects/
  2         syndication_permalink   https://www.freelancer.com/projects/
  3         syndication_permalink   https://www.freelancer.com/projects/
  4         syndication_permalink   https://www.simplyhired.com/job/W6sVJ1
  5         syndication_permalink   https://www.mandy.com/uk/job/576913/junior

1 Ответ

0 голосов
/ 11 июня 2019

Я не уверен, что вы хотите в качестве вашего вывода.Но попробуйте этот код и дайте мне знать, решил ли он вашу проблему или нет.

SELECT x.*
FROM wp_posts x
JOIN
(SELECT wp.meta_value
FROM wp_posts wp
LEFT JOIN wp_postmeta c ON ( wp.ID = c.post_id )
WHERE post_type = 'post' AND meta_key = 'syndication_permalink' 
GROUP BY wp.meta_value
HAVING Count(wp.meta_value) > 1) as y ON y.meta_value = x.meta_value

Это даст все повторяющиеся значения согласно столбцу meta_value.Позвольте мне исправить, если я не прав.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...