我被困在一个sql查询中,我知道它可能很常见,但没有得到任何正确的解决方案。从我的table上 messages
,我已通过加入成功获取max id from
以及 to
现在我想做的是,我想把 name
从另一个表命名 users
,
这是我的工作查询以查找max id,
select m.*
from messages m
where m.id in (select max(m.id) as max_id
from messages m
where m.`from` = 7
or m.`to` = 7
group by least(m.`to`, m.`from`), greatest(m.`to`, m.`from`))
我试过这样的东西,但它和我的名字很相配 from
列 messages
table。
select messages.*, users.name
from messages
left join users on messages.`from` = users.id
where messages.id in (select max(id) as max_id
from messages
where `from` = 7
or `to` = 7
group by least(`to`, `from`), greatest(`to`, `from`))
我希望该名称将显示根据我得到的最大id。
列 messages
表:id,from,to,创建于
列 users
表:id、姓名、电子邮件、创建地点
请帮帮我,
1条答案
按热度按时间vjhs03f71#
一种方法是
join
,但仅限于7
: