【发布时间】:2011-10-26 13:40:20
【问题描述】:
我的 SQL 语句有些困难。我正在对 WordPress 进行查询以显示基于多个帖子元字段的帖子。当我只使用一个元字段或多个元字段进行查询和过滤时,它可以工作,但是多个元字段的 AND 失败。
SELECT wposts . *
FROM wp_posts wposts
INNER JOIN (
SELECT post_id
FROM wp_postmeta wpostmeta
WHERE (
(wpostmeta.meta_key = 'ulnooweg_business_industry'
AND wpostmeta.meta_value = 'Legal Services')
AND (
wpostmeta.meta_key = 'ulnooweg_business_province'
AND wpostmeta.meta_value = 'New Brunswick')
)
GROUP BY post_id
)
AS t ON t.post_id = wposts.ID
WHERE wposts.post_status = 'publish'
AND wposts.post_type = 'business'
ORDER BY wposts.post_title ASC
LIMIT 0 , 30
【问题讨论】:
-
OR 和 AND 在逻辑上是不同的。你期待什么结果?
-
是的,我知道这一点。我想要 AND,我想要过滤两个元值。我可以确认数据存在,但是我的声明没有返回。
-
您的问题是什么?您的查询应该是什么样的?发布您尝试过的内容,即使它不起作用。
-
OP 正试图弄清楚他如何获得具有“法律服务”行业元键和“新不伦瑞克省”省元键的一组帖子。