数据连接MySQL中的多个表

时间:2014-11-25 03:27:38

标签: mysql

我真的是一个新手,所以我希望我可以用我遇到的麻烦来解释自己。

我有几个表需要从1表中提取数据。到目前为止,我能够从2个表中提取,但不能从3个或更多表中提取。

这是我从2个表中提取的内容:

select C.id , C.business, AP.firstname, AP.lastname from claims C JOIN affected_people AP ON C.ID = AP.claimid

我有另一个名为'消息' 的表名,我需要提取这些名称'评论和日期阅读。

此表与其他人通过“声明”相关联。

如何将所有三个提取到1个表中?

请帮助。

D_Klutz

我没有考虑到我所获得的结果的问题。事实证明,每个claimid都发送了多条消息,但我们正在寻找的是最后一条消息。如何编码只选择最后一条消息?发送的所有消息都有一个时间戳。谢谢你的帮助

3 个答案:

答案 0 :(得分:0)

在消息上添加另一个联接应该有效:

select
   C.id ,
   C.business,
   AP.firstname,
   AP.lastname,
   M.comments,
   M.dateread 
from
   claims C 
JOIN
   affected_people AP 
      ON C.ID = AP.claimid 
join
   Messages M 
      on M.claimid = C.ID

答案 1 :(得分:0)

您的查询应该是这样的。

select 
   C.id ,
   C.business, 
   AP.firstname, 
   AP.lastname,
   m.comments,
   m. dateread
from 
  claims C 
  JOIN 
  affected_people AP ON C.ID = AP.claimid
  JOIN
  Messages M on C.ID=M.claimid

答案 2 :(得分:0)

试试吧

select C.ID, C.business, AP.firstname, AP.lastname, M.Message from claims AS C INNER JOIN affected_people as AP ON C.Id = AP.claimid inner join Messages as M on C.ID = M.claimid