所以我一直在研究如何让它发挥作用,但却找不到它,或者甚至不能正确搜索。
我正在寻找加入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
答案 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
? 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'是您最初提到的“某事”