【发布时间】:2011-01-07 16:44:42
【问题描述】:
这是一个wordpress安装,但我认为这个问题更像是一个一般的sql问题。首先,我的 sql 技能不是很好(我什至不知道我是否遵循正确的格式来说明 db)。
我有两张桌子:
wp_posts :
ID (pk) | post_name | ...
----------------------------
45 | "Hello"
91 | "Funny"
16 | "Wheat"
wp_postmeta :
post_id (fk) | meta_key | meta_value | ...
------------------------------------------------
45 | "_edit_lock" | 5789789834
45 | "fizzbizz" | "foobar"
91 | "_something" | "teve"
我想选择 wp_posts 中没有对应行的 wp_postmeta 中 meta_key = "fizzbizz" 的所有行
我最初有这个查询,但有人指出在上述情况下它不会检索 ID = '16'。如何正确编写查询?
$pageposts = $wpdb->get_results("
SELECT * FROM wp_posts p
JOIN wp_postmeta m
ON p.ID = m.post_id
WHERE m.meta_key <> 'fizzbizz'
ORDER BY p.post_date DESC;
");
【问题讨论】: