加入并查询带有条件的两个表

时间:2017-02-08 11:04:25

标签: mysql database laravel

表1:

users(id, fname,lname)

表2:

messages(id, body,sender_id, receiver_id) .. 

注意: - 表1中的sender_id和receiver_id参考ID。

select *
from messages
where receiver_id = 3

给我结果。

我不希望发件人ID为id,而是来自用户表的fname和lame

2 个答案:

答案 0 :(得分:0)

select m.id,m.body,u.fname,u.lname from messages m
inner join users u on u.id=m.sender_id
where m.receiver_id = 3

答案 1 :(得分:0)

您可以使用inner join来实现此目的,您可以使用以下查询,此处为用户制作发件人别名以便更清晰

    select m.id, m.body, m.receiver_id, sender.fname, sender.lname
    from messages m
    inner join users sender on sender.id=m.sender_id
    where m.receiver_id = 3