我得到了3个tabels:获取数据
- wp_posts
- wp_metadata
- 用户
当我从 “wp_posts” 我的查询我使用LEFT JOIN从“wp_metadata”获得的数据,但我怎么能得到从3 TABL值e“用户”?
例子: 我有我的wordpressblog一个职位。在那篇文章中,我有一些元字段 - 其中一个叫做“userid”。我的用户位于wordpress之外的表格中。如何从表格“用户”中获取用户名,其中后置元键“userid”等于“users” - 表行ID?
这里是我的SQL请求,因为它是现在:
SELECT ID, post_title,
post_excerpt,
post_content,
m.meta_value AS placeid,
i.meta_value AS photoid,
r.meta_value AS rating,
u.meta_value AS userid,
b.username
FROM wp_posts p
LEFT JOIN wp_postmeta m ON (m.post_id = p.ID)
LEFT JOIN wp_postmeta i ON (i.post_id = p.ID)
LEFT JOIN wp_postmeta r ON (r.post_id = p.ID)
JOIN wp_postmeta u ON (u.post_id = p.ID)
LEFT JOIN brugere b ON (b.id = userid)
WHERE m.meta_key = 'placeid'
AND i.meta_key = 'photoid'
AND r.meta_key = 'rating'
AND u.meta_key = 'userid'
AND post_status = 'publish'
ORDER BY ID DESC LIMIT 50;
我想要一个查询,因为我使用一个“打印json_encode”查询。
这里是移动何在一个尝试为ON:'LEFT JOIN wp_postmeta米ON(m.post_id = p.ID)WHERE m.meta_key =“placeid''但没有结果。我也尝试将LEFT JOIN更改为INNER JOIN,但也无效。 – user2908800
好吧,现在我得到一些结果!但是,我如何获得b.username。我的代码有'LEFT JOIN brugere b ON(b.id = userid)'或'LEFT JOIN brugere b ON(b.id = u.meta_value)'不能工作。我做错了什么? – user2908800
@strawberry这里:http://sqlfiddle.com/#!2/6ce9a/2 – user2908800