MySQL条件连接查询(WordPress数据库)

时间:2011-02-11 15:09:45

标签: php mysql wordpress join

所以我一直在研究如何让它发挥作用,但却找不到它,或者甚至不能正确搜索。

我正在寻找加入t1到t2,我从t1获得所有结果,并且它只在t2的列值为“某事”的地方加入,表格设置为t2列中有许多项目。因此,如果t2的列不等于“某事”,那么只需要其他数据(但主要是我只想要t1行的每个值中的一个,因为每个t1行最多只能有一个t2行)。 / p>

select * t1 LEFT JOIN t2 where t2.column="something" AND t1 conditions.

任何帮助都会受到赞赏,表格是WordPress表格,如果没有WordPress知道,我要求做的事情会更容易完成。

- 实际代码尝试:

$ SELECT * FROM posts LEFT JOIN postmeta ON post_id = id WHERE post_status='publish' AND post_type='portfolio' AND meta_key='rjmeta_video'


$Table 1
$ID     Title ....
$----------------------
$5      Some post I need outside of WP

$Table 2
$meta_id  post_id   meta_key  ....
$--------------------------------
$3        5         rjmeta_video
$4        5         _edit_lock
$5        5         _edit_last

1 个答案:

答案 0 :(得分:4)

我相信这就是你的意思:

select distinct t1.* from t1 
LEFT JOIN t2 on [condition for join] and t2.column="something" 
where [t1 conditions].

这假设您只对t1字段感兴趣。

我们不知道的事情:

  • 表架构
    • 他们是如何加入的? t2.t1_id = t1.id
  • t1条件
如果连接有多个匹配项,则上面使用的

DISTINCT将消除重复的行

编辑(OP评论回复):

SELECT distinct posts.* FROM posts 
LEFT JOIN postmeta ON (post_id = id and meta_key='rjmeta_video')
WHERE post_status='publish' AND post_type='portfolio'

这假设'rjmeta_video'是您最初提到的“某事”