【发布时间】:2012-02-05 04:50:08
【问题描述】:
userPosts.value 可以包含以下两个值之一:0 或 1。
我正在将 userPosts 加入我的 Posts 表。
我想从我的 Posts 表中获取 userPosts.value = 0 的所有帖子以及根本没有任何 userPosts.value 的所有帖子(因此为 NULL)。
以下只会让我发布 value = 0 但没有 NULL 的帖子:
SELECT * FROM $wpdb->posts
LEFT JOIN userPosts ON ($wpdb->posts.ID = userPosts.postID)
WHERE userPosts.value != 1
ORDER BY $wpdb->posts.post_date DESC
以下内容只会让我发布 value = NULL 的帖子:
SELECT * FROM $wpdb->posts
LEFT JOIN userPosts ON ($wpdb->posts.ID = userPosts.postID)
WHERE userPosts.value IS NULL
ORDER BY $wpdb->posts.post_date DESC
但这根本不会产生任何结果:
SELECT * FROM $wpdb->posts
LEFT JOIN userPosts ON ($wpdb->posts.ID = userPosts.postID)
WHERE userPosts.value = 0
AND userPosts.value IS NULL
ORDER BY $wpdb->posts.post_date DESC
这确实让我发布了 value = 0 和 NULL 的帖子,但它重复了我所有的 NULL 帖子三遍!
SELECT * FROM $wpdb->posts
LEFT JOIN userPosts ON ($wpdb->posts.ID = userPosts.postID)
WHERE userPosts.value = 0
OR userPosts.value IS NULL
ORDER BY $wpdb->posts.post_date DESC
那我做错了什么?
【问题讨论】: