我有两个mysql表。即,
// db_post
id || name || username || unique_key || pub
1 Jit jit11 unkey1 demo
2 Rah rah11 unkey2 demo1
3 dee dee11 unkey3 demo2
// db_like
id || post_id || unique_key
1 2 unkey3
我的问题是,如何根据表db_post中的unique_key字段混合这两个表。
//输出应如下所示。 (WHERE unique_key ='unkey3')
id || name || unique_key || pub || post_id
3 dee unkey3 demo2 {null}
2 Rah unkey2 demo1 2
1 Jit unkey1 demo {null}
id
的{{1}}字段和db_post
的{{1}}字段应匹配。
答案 0 :(得分:2)
这需要将加入条件保留为db_unique_key = db_like.unique_key and db_like.unique_key='unkey3')
select
p.id,
p.name,
p.unique_key,
p.pub,
l.post_id
from db_post p
left join db_like l on l.unique_key = p.unique_key and l.unique_key = 'unkey3'
order by p.id desc
答案 1 :(得分:1)
在LEFT JOIN
列上使用unique_key
,例如
select dp.id,
dp.name,
dp.unique_key,
dp.pub,
dl.post_id
from db_post dp
left join db_like dl on dp.unique_key = dl.unique_key
order by dp.id desc;