J'écris une requête SQL pour WordPress qui recherche les événements qui sont en direct entre une recherche d'utilisateurs. Je suis en train de coder en dur pour tester.SQL renvoie des résultats en double
À l'heure actuelle, deux événements sont retournés pour chaque fois que le post_id apparaît dans la table wp_postmeta, quelqu'un peut-il voir où il pourrait y avoir un problème avec cette logique?
SELECT ID, post_title
FROM $wpdb->posts AS post
INNER JOIN $wpdb->postmeta AS meta
ON (post.ID = meta.post_id)
INNER JOIN $wpdb->postmeta AS meta2
ON (post.ID = meta2.post_id)
WHERE post.post_status = 'publish'
AND post.post_type = 'event'
AND post.post_author = '1'
AND (
((meta.meta_key = 'date_0_start-date' AND meta.meta_value < '20140620') AND (meta2.meta_key = 'date_0_end-date' AND meta2.meta_value > '20140630'))
OR ((meta.meta_key = 'date_0_start-date' AND meta.meta_value < '20140620') AND (meta2.meta_key = 'date_0_end-date' AND meta2.meta_value >= '20140620'))
OR ((meta.meta_key = 'date_0_start-date' AND meta.meta_value > '20140620') AND (meta.meta_key = 'date_0_start-date' AND meta.meta_value <= '20140630'))
OR ((meta.meta_key = 'date_0_start-date' AND meta.meta_value >= '20140620') AND (meta2.meta_key = 'date_0_end-date' AND meta2.meta_value <= '20140630'))
)
Parfait! Je vous remercie! – lukeseager