Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save hazratbilal0079/0e4d01225d7e6c05ad45669ceebe874a to your computer and use it in GitHub Desktop.
Save hazratbilal0079/0e4d01225d7e6c05ad45669ceebe874a to your computer and use it in GitHub Desktop.
Query to Check Duplicated in Custom Post Type based on the Meta Fields Only
SELECT
p.ID AS post_id,
p.post_title,
pm1.meta_value AS property_name,
pm2.meta_value AS community_name,
pm3.meta_value AS type_owner_data,
pm4.meta_value AS area,
pm5.meta_value AS owner_number,
pm6.meta_value AS bedroom,
pm7.meta_value AS responsible_person,
pm8.meta_value AS owner_name,
pm9.meta_value AS owner_data_status
FROM
wpd8_posts AS p
INNER JOIN
wpd8_postmeta AS pm1 ON p.ID = pm1.post_id AND pm1.meta_key = 'property-name'
INNER JOIN
wpd8_postmeta AS pm2 ON p.ID = pm2.post_id AND pm2.meta_key = 'community-name'
INNER JOIN
wpd8_postmeta AS pm3 ON p.ID = pm3.post_id AND pm3.meta_key = 'type-owner-data'
INNER JOIN
wpd8_postmeta AS pm4 ON p.ID = pm4.post_id AND pm4.meta_key = 'area'
INNER JOIN
wpd8_postmeta AS pm5 ON p.ID = pm5.post_id AND pm5.meta_key = 'owner-number'
LEFT JOIN
wpd8_postmeta AS pm6 ON p.ID = pm6.post_id AND pm6.meta_key = 'bedroom'
LEFT JOIN
wpd8_postmeta AS pm7 ON p.ID = pm7.post_id AND pm7.meta_key = 'responsible-person'
LEFT JOIN
wpd8_postmeta AS pm8 ON p.ID = pm8.post_id AND pm8.meta_key = 'owner-name'
LEFT JOIN
wpd8_postmeta AS pm9 ON p.ID = pm9.post_id AND pm9.meta_key = 'owner-data-status'
WHERE
p.post_type = 'owner-data' AND
(
SELECT COUNT(*)
FROM wpd8_posts AS sub_p
INNER JOIN wpd8_postmeta AS sub_pm1 ON sub_p.ID = sub_pm1.post_id AND sub_pm1.meta_key = 'property-name'
INNER JOIN wpd8_postmeta AS sub_pm2 ON sub_p.ID = sub_pm2.post_id AND sub_pm2.meta_key = 'community-name'
INNER JOIN wpd8_postmeta AS sub_pm3 ON sub_p.ID = sub_pm3.post_id AND sub_pm3.meta_key = 'type-owner-data'
INNER JOIN wpd8_postmeta AS sub_pm4 ON sub_p.ID = sub_pm4.post_id AND sub_pm4.meta_key = 'area'
INNER JOIN wpd8_postmeta AS sub_pm5 ON sub_p.ID = sub_pm5.post_id AND sub_pm5.meta_key = 'owner-number'
WHERE
sub_p.post_type = 'owner-data' AND
sub_pm1.meta_value = pm1.meta_value AND
sub_pm2.meta_value = pm2.meta_value AND
sub_pm3.meta_value = pm3.meta_value AND
sub_pm4.meta_value = pm4.meta_value AND
sub_pm5.meta_value = pm5.meta_value
) > 1
ORDER BY
pm1.meta_value, pm2.meta_value, pm3.meta_value, pm4.meta_value, pm5.meta_value;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment