我有以下 MySQL 从几个表中获取数据:
SELECT * FROM $wpdb->posts
LEFT JOIN taxi ON ($wpdb->posts.ID = taxi.taxiID)
LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_date < NOW()+INTERVAL 1 DAY
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->term_taxonomy.term_id IN(3)
AND taxi.taxiID IS NULL
AND ($wpdb->postmeta.meta_key = 'EndDate' AND $wpdb->postmeta.meta_value > DATE_ADD(NOW(), INTERVAL 3 HOUR))
到昨天为止,查询没有返回任何结果,但问题是:它过去两周一直返回结果!
经过大量的试验和错误,我将问题缩小到这一行:
AND taxi.taxiID IS NULL
该行应该使结果过滤以仅显示出租车表中没有记录的那些帖子。
谁能帮我弄清楚如何解决这个问题?