我发布这个问题,而某处可能有答案,我的搜索术语有问题。我在下面的初始查询中获取了我需要的正确数量的结果。
SELECT * FROM wp_posts
WHERE post_type = 'video'
AND post_status = 'publish'
ORDER BY 'post_date'
我的问题是我在一个不同的表中有一个自定义字段值,该表存在于某些帖子上但不是全部。如果字段值存在,我希望信息显示在另一列中。当我进行正常的JOIN时,我得到的结果太多,因为我不确定如何过滤掉#34;如果值存在"查询。
基本上我想做像
这样的事情SELECT * FROM wp_posts
WHERE post_type = 'video'
AND post_status = 'publish'
ORDER BY 'post_date'
然后从表2中称为wp_postmeta AND IF meta_key =' source' 来自wp_postmeta
**然后再从第二张表中添加两列**
我最大的问题是我的第二个表中的meta_key列有许多与同一ID绑定的值。所以如果我做一个普通的简单JOIN,我会回来的行太多了。
对不起,如果我不能更清楚地描述这一点,但如果有人知道我想要完成的任何事情,我们将不胜感激。
答案 0 :(得分:0)
我已经想到这一点,我需要添加LEFT JOIN来完成我想要的。谢谢,抱歉占用你的时间
SELECT *
FROM wp_posts A
LEFT JOIN wp_postmeta B
ON A.ID = B.post_id
AND B.meta_key = 'sources'
WHERE A.post_type = 'video'
AND A.post_status = 'publish'