我需要为我的公告获取一些值,我使用sql客户查询,如下所示:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
JOIN wp_postmeta
ON wp_posts.ID = wp_postmeta.post_id
JOIN wp_postmeta
ON wp_posts.ID = wp_postmeta.post_id
AND wp_postmeta.meta_value = 'zachodniopomorskie'
AND wp_posts.post_title LIKE '%%'
WHERE 1=1
AND wp_postmeta.meta_key = 'refresh_date'
AND wp_posts.post_type = 'announcement'
AND wp_posts.post_status = 'publish'
GROUP
BY wp_posts.ID
ORDER
BY wp_postmeta.meta_value DESC
LIMIT 0, 15但是我得到了这样的错误:不是唯一的表/别名:'wp_postmeta‘
我试图创建一些别名,但是在不唯一的表/别名中出错:'alias_value‘
有没有人能帮我一下,怎么创建这样的查询?
发布于 2020-10-05 21:02:01
您应该使用别名,请参阅新代码
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts as p
JOIN wp_postmeta as pm1
ON p.ID = pm1.post_id
JOIN wp_postmeta as pm2
ON p.ID = pm2.post_id
AND pm2.meta_value = 'zachodniopomorskie' (i suppose you wanted pm2 here?)
AND p.post_title LIKE '%%'
WHERE 1=1
AND pm1.meta_key = 'refresh_date'
AND p.post_type = 'announcement'
AND p.post_status = 'publish'
GROUP
BY p.ID
ORDER
BY pm1.meta_value DESC
LIMIT 0, 15调整条件以满足您的目标,但这就是重点。您需要指示您的DB要处理哪个表
https://stackoverflow.com/questions/64208695
复制相似问题