2016-11-25 60 views
0

我在发布此问题的同时可能有答案,我的搜索术语遇到问题。我在下面的最初查询获取了我需要的正确数量的结果。MySQL - 如果存在特定值,则加入表格并添加

SELECT * FROM wp_posts 
WHERE post_type = 'video' 
AND post_status = 'publish' 
ORDER BY 'post_date' 

我的问题是,我有其中存在的一些职位,但不是所有的人不同的表中的自定义字段值。如果字段值存在,我希望信息显示在另一列中。当我做一个正常的JOIN时,我最终得到了太多的结果,因为我不知道如何过滤掉“如果存在值”查询。

基本上我想要做这样的事情

SELECT * FROM wp_posts 
WHERE post_type = 'video' 
AND post_status = 'publish' 
ORDER BY 'post_date' 
从表中的两个

那么这就是所谓wp_postmeta ,如果meta_key = '源' 从 wp_postmeta

** THEN将增加两个栏第二表**

我最大的问题是,我的第二个表中的meta_key列有许多与同一个ID绑定的值。所以,如果我做一个简单的JOIN,我会回来的行数太多。

对不起,如果我不能更清楚地描述这一点,但如果有人知道我想完成什么,任何帮助将不胜感激。

+0

我已经想通了,我需要添加一个左连接来完成我想要的。感谢并抱歉占用你的时间。 – kaykills

回答

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' 
相关问题