我可以在一次通话中使用两个'JOIN'吗?

时间:2014-12-05 19:35:16

标签: mysql sql

我试图同时从3个不同的表中打电话。

a包含一般数据。

td& dmd具有其数据点的特定数据。

我的电话(简化)看起来像这样。

SELECT a.*, td.*, dmd.* 
FROM activities as a, tweet_activity_data AS td, direct_message_activity_data AS dmd 
WHERE a.activity_id IN (1,2,3,4,5) 
AND a.activity_id = dmd.id 
AND a.activity_id = td.tweet_id

最后两行是我认为遇到麻烦的地方。

我需要在我的回复中正确排列这些内容并且这不会产生任何结果。

我是否被允许'在SQL调用中使用两个类似的连接?

1 个答案:

答案 0 :(得分:0)

是的,但要连接表,请使用JOIN和ON关键字。具体来说,WHERE子句中当前的东西最终将作为ON子句,告诉查询如何连接表。所以你的查询看起来像

SELECT a.*, td.*, dmd.*
FROM activities as a
JOIN tweet_activity_data AS td
  ON a.activity_id = td.tweet_id
JOIN direct_message_activity_data AS dmd
  ON AND a.activity_id = dmd.id
WHERE a.activity_id IN (1,2,3,4,5)